A finite state monad for Haskell inspired by the state machine behaviors seen in Erlang/OTP.