The FastPush package

This library gives you a monad that lets you push things onto a stack very quickly.
You get things off the stack when you run the monad. Under the hood, this uses mutable
vectors. I've also included a monad transformer using the STMonadTrans library that
does the same thing as a transformer, but it's probably very unsafe.