-But where is the reasoning that led us to this unit and bind?
-And what is the type `['a]`? Magic.
-
-So let's indulge ourselves in a completely useless digression and see
-if we can gain some insight into the details of the List monad. Let's
-choose type constructor that we can peer into, using some of the
-technology we built up so laboriously during the first half of the
-course. We're going to use type 3 lists, partly because we know
-they'll give the result we want, but also because they're the coolest.
-These were the lists that made lists look like Church numerals with
-extra bits embdded in them:
+Now, why this unit, and why this bind? Well, ideally a unit should
+not throw away information, so we can rule out `fun x -> []` as an
+ideal unit. And units should not add more information than required,
+so there's no obvious reason to prefer `fun x -> [x,x]`. In other
+words, `fun x -> [x]` is a reasonable guess for a unit.
+
+As for bind, an `'a list` monadic object contains a lot of objects of
+type `'a`, and we want to make some use of each of them. The only
+thing we know for sure we can do with an object of type `'a` is apply
+the function of type `'a -> 'a list` to them. Once we've done so, we
+have a collection of lists, one for each of the `'a`'s. One
+possibility is that we could gather them all up in a list, so that
+`bind' [1;2] (fun i -> [i;i]) ~~> [[1;1];[2;2]]`. But that restricts
+the object returned by the second argument of `bind` to always be of
+type `'b list list`. We can elimiate that restriction by flattening
+the list of lists into a single list. So there is some logic to the
+choice of unit and bind for the list monad.
+
+Yet we can still desire to go deeper, and see if the appropriate bind
+behavior emerges from the types, as it did for the previously
+considered monads. But we can't do that if we leave the list type is
+a primitive Ocaml type. However, we know several ways of implementing
+lists using just functions. In what follows, we're going to use type
+3 lists (the right fold implementation), though it's important to
+wonder how things would change if we used some other strategy for
+implementating lists. These were the lists that made lists look like
+Church numerals with extra bits embdded in them: