From a31c51ce293108196a9f6ded726ac637ad52acb3 Mon Sep 17 00:00:00 2001
From: jim
Date: Fri, 20 Mar 2015 13:34:11 -0400
Subject: [PATCH] restore Chris's double boxes
---
topics/week7_introducing_monads.mdwn | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/topics/week7_introducing_monads.mdwn b/topics/week7_introducing_monads.mdwn
index 1911566a..718677e2 100644
--- a/topics/week7_introducing_monads.mdwn
+++ b/topics/week7_introducing_monads.mdwn
@@ -83,10 +83,17 @@ For instance, the following are Kleisli arrows:
In the first, `P` has become `int` and `Q` has become `bool`. (The boxed type __Q__

is __bool__

).
-Note that the left-hand schema `P` is permitted to itself be a boxed type. That is, where if `Î± list` is our box type, we can write the second type as:
+Note that either of the schemas `P` or `Q` are permitted to themselves be boxed
+types. That is, if `Î± list` is our box type, we can write the second type as:
__int__ -> __int list__

+And also what the rhs there is a boxing of is itself a boxed type (with the same kind of box):, so we can write it as:
+
+__int__ -> int

+
+We have to be careful though not to to unthinkingly equivocate between different kinds of boxes.
+
Here are some examples of values of these Kleisli arrow types, where the box type is `Î± list`, and the Kleisli arrow types are `int -> `__int__

(that is, `int -> int list`) or `int -> `__bool__

:
\x. [x]
--
2.11.0