Correctly using the State monad, and discovered #3