Sun Oct 9 14:43:47 EDT 2011


Is it possible to use a simple interface to abstract over both these
types of binary operators:

  a   -> b   -> M c
  M a -> M b -> M c

This would make it possible to combine nested expressions (unnamed
intermediates) and explicit bindings using the same interface.
Something that might work is this:

  mi a -> mi b -> mo c

Where we can have mi = mo or mi = 1, the identity monad.  Let's play
with this a bit.

It seems that this would work, but there is a problem making it
implicit.  I.e. the identity monad would always need a wrapper.

Overall it seems just simpler to work with (M a -> M b -> M c)
functions and use an explicit return when binding nodes.  See before.