Tue Aug 11 11:42:29 EDT 2015

Only applicative?

Semantics (Eval) doesn't need the Monad.  Is there a way to use
Applicative, forget about sharing, and somehow reconstruct it as part
of implementation?

Basically, there is a canonical way to introduce sharing.  Does it
have to be explicit?

Put otherwise: is there a way to introduce the extra structure
canonically, keeping one end of the morphism Applicative, and the
other Monad?