@@ -56,7 +56,7 @@ answer. For example:
5656::
5757
5858 *prims> 6*6+6
59− 42 : Int
59+ 42 : Integer
6060 *prims> x == 6*6+6
6161 True : Bool
6262
@@ -792,12 +792,12 @@ providing a default value:
792792
793793.. code-block:: idris
794794
795− maybe : Lazy b -> (a -> b) -> Maybe a -> b
795+ maybe : Lazy b -> Lazy (a -> b) -> Maybe a -> b
796796
797−Note that the type of the first argument is ``Lazy b`` rather than
798−simply ``b``. Since the default value might not be used, we mark it as
799−``Lazy`` in case it is a large expression where evaluating it then
800−discarding it would be wasteful.
797+Note that the types of the first two arguments are wrapped in
798+``Lazy``. Since only one of the two arguments will actually be used,
799+we mark them as ``Lazy`` in case they are large expressions where it
800+would be wasteful to compute and then discard them.
801801
802802Tuples
803803------
@@ -820,6 +820,15 @@ contain an arbitrary number of values, represented as nested pairs:
820820 jim : (String, Int, String)
821821 jim = ("Jim", 25, "Cambridge")
822822
823+::
824+
825+ *usefultypes> fst jim
826+ "Jim" : String
827+ *usefultypes> snd jim
828+ (25, "Cambridge") : (Int, String)
829+ *usefultypes> jim == ("Jim", (25, "Cambridge"))
830+ True : Bool
831+
823832Dependent Pairs
824833---------------
825834
@@ -1025,7 +1034,11 @@ For example:
10251034 className : String
10261035
10271036**Note** that it is no longer possible to use the ``addStudent``
1028−method from earlier as that would change the size of the class. To provide an add student the function must specify in the type that the size of the class has been increased by one. As the size if specified using natural numbers, the new value can be incremented using the successor constructor.
1037+function from earlier, since that would change the size of the class. A
1038+function to add a student must now specify in the type that the
1039+size of the class has been increased by one. As the size is specified
1040+using natural numbers, the new value can be incremented using the
1041+``S`` constructor.
10291042
10301043.. code-block:: idris
10311044
@@ -1137,8 +1150,8 @@ auxiliary functions, and is also used internally to implement pattern
11371150matching ``let`` and lambda bindings. It will *only* work if:
11381151
11391152- Each branch *matches* a value of the same type, and *returns* a
1140− value of the same type.
1153+ value of the same type.
11411154
11421155- The type of the result is "known". i.e. the type of the expression
1143− can be determined *without* type checking the ``case``-expression
1144− itself.
1156+ can be determined *without* type checking the ``case``-expression
1157+ itself.