Moses patches

As a general rule, using mutable is a bad idea, if it can be avoided. It typically causes the compiler to make bizarre optimizations, and can lead to hard-to-debug problems (because the compiler made const optimizations -- e.g. by not calling subroutines, and using the values previously returned by the subroutine).