Played with monads.