From c8fd5635d402bd3ae8073725257bef20e161256e Mon Sep 17 00:00:00 2001
From: Chris
Date: Fri, 20 Mar 2015 11:52:11 -0400
Subject: [PATCH] double box
---
topics/week7_introducing_monads.mdwn | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/topics/week7_introducing_monads.mdwn b/topics/week7_introducing_monads.mdwn
index 4ce25641..60a36aad 100644
--- a/topics/week7_introducing_monads.mdwn
+++ b/topics/week7_introducing_monads.mdwn
@@ -83,10 +83,18 @@ 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 the left-hand schema `P` is permitted to itself be a boxed
+type. That is, if `Î± list` is our box type, and `P` is to boxed type
+`int list`, we can write the boxed type that has `P` as its left-hand
+side as
__int__ -> __int list__

+If it's clear that we're uniformly talking about the same box type (in
+this example, `Î± list`), we can equivalently write
+
+__int__ -> __int__

+
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