Make Monad, functional dependency