(Messy) implementations of Mutations

Applying #18. Very messy still, and not all tests pass.