This is making me wonder if it would pay off to class-ify everything. Since the solvers all have common interfaces and call the same `_format_system`. It might also make the relationships between different solvers easier to figure out.