Why Functor class has no return function?
From categorical point of view, functor is pair of two maps (one between objects and another between arrows of categories), following some axioms. I have assumed, what every Functor instance is similar to mathematical definition i.e. can map both objects and functions, but Haskell's Functor class has only function fmap which maps functions. Why so? UPD In other words: Every Monad type M has an function return :: a -> M a . And Functor type F has no function return :: a -> F a , but only F x constructor. laughedelic First of all, there are two levels: types and values. As objects of Hask are