A Monad with Class