Fix/modifies

Add a new modifies-like decorator and modify some data accesses that were incorrect.

The Dat.copy method and Solver.solve methods modify their arguments, but were not caught by existing modifies decorators.