Haskell Language Common functors as the base of cofree comonads Cofree Empty ~~ Empty


Example

Given

data Empty a

we have

data Cofree Empty a
   --  = a :< ...  not possible!