To add increased flexibility for solvers, b.run_checks has been split into multiple methods:
b.run_checks still exists and calls all the sub-checks, but now run_compute will only call and require b.run_checks_system and b.run_checks_compute to pass, wherease run_solver will also require b.run_checks_solver to pass (in addition to b.run_checks_compute at each iteration of the solver)
In [ ]: