why not move this to a solver class? In my opinion, `solver.set(option)` is easier to understand than `option.set(solver)`.