There is the following instance:
instance ComonadCofree f w => MonadFree (Co f) (Co w)
Essentially, we could require only ComonadCofree g w for some g for which there is a pairing with f. But since we don't have a type class for that, and since inference would be presumably pretty horrible, I think it makes sense to just choose Co f for g.
What do you think?
There is the following instance:
Essentially, we could require only
ComonadCofree g wfor somegfor which there is a pairing withf. But since we don't have a type class for that, and since inference would be presumably pretty horrible, I think it makes sense to just chooseCo fforg.What do you think?