Definition

class Functor m where
   fmap :: (a -> b) -> m a -> m b