Closed ekmett closed 8 years ago
Is the (<@>) = (<*>)
requirement really necessary? They don't seem to conflict if we just remove this restriction (but the mathematical symmetry will be gone, though).
(<@>) = (<*>)
could be relaxed, if I could swallow my gorge, but (<.>) = (<*>)
is a hard requirement.
This issue is currently tracked in its own repository https://github.com/ekmett/free/issues/36
The ComonadApply and Apply don't agree with the Applicative for Cofree.
There are two structures here. One tries to zip together the 'f's stream-style. The other works with an indexed-monoid style to smash the 'f's together. These need to split into separate (co)monads.