Can you define `Comonads` based on `Monads`?
Yes, in fact any functor gives rise to a unique comonad in this way, unless f==0. Let F be an endofunctor on Hask. Let W(a) = ∀r.F(a->r)->r W(f) = F(f∗)∗ where g∗(h) = h∘g The puzzle becomes geometric/combinatoric in nature once you realize the following isomorphism: Theorem 1. Suppose neither of the types (∀r.r->F(r)) (∀r.F(r)->r) … Read more