I'm having trouble understanding this:
> IIUC, one would describe fmap as "lifting" a function g into a functor f,
> in the sense of
>
> Functor f => (g a b) -> g a -> g b
>
>
> Is there an inverse concept (? co-lift ?) that describes
>
> Functor f => (g a -> g b) -> a -> b
>
It seems like these are type declarations for functions, with class constraints that say f must be a Functor, but then f doesn't appear anywhere else in the declaration. Why is this?
Thanks,
-Ben