ST Monad is awesome.