haskell-issues
haskell-issues copied to clipboard
Free member of a class :: forall k. (k -> Constraint) -> k
Foldable
would map to a type constructor with one type parameter a
and its result isomoprhic to Monoid m => (a -> m) -> m.
Functor
, Traversable
, Monad
, Applicative
and Alternative
might as well map to ()
because they do not include a deconstructor.
Comonad
would map to something isomorphic to data FreeComonad a = FreeComonad a (FreeComonad (FreeComonad a))
Could you expand?