Use Functor instance instead of Monad