Add Monadic interface.

The monadic interface is more performant because it does not have to
call "value" to fake the "decapsulation" of intermediary values.
We should try to unify the applicative and monadic evaluators.