edits
[lambda.git] / zipper-lists-continuations.mdwn
index a9d0e8f..0f0662f 100644 (file)
@@ -55,13 +55,18 @@ so we have to abstract over that variable to balance the books:
          fun e -> f (u e) ...
 
 This types to `env -> 'b reader`, but we want to end up with `env ->
-'b`.  The easiest way to turn a 'b reader into a 'b is to apply it to
+'b`.  Once again, the easiest way to turn a `'b reader` into a `'b` is to apply it to
 an environment.  So we end up as follows:
 
     r_bind (u:'a reader) (f:'a -> 'b reader):('b reader) = f (u e) e         
 
 And we're done.
 
+[This bind is a simplified version of the careful `let a = u e in ...`
+constructions we provided in earlier lectures.  We use the simplified
+versions here in order to emphasize similarities of structure across
+monads; the official bind is still the one with the plethora of `let`'s.]
+
 The **State Monad** is similar.  We somehow intuit that we want to use
 the following type constructor: