At the beginning of class, I'll look at people's homework; then we'll move on to talk about the ST monad. The ST monad is a little bit like the IO monad but you can escape from it; it allows us to define imperative, stateful algorithms and yet have an abstraction boundary beyond which the algorithm is safely viewed as pure. -- Jason Dusek