GEIESMONADS TRAINING - This page is a complete running implementation of the code presented at
It features a chainable state monad, though