-Of course, it's possible to handle errors in other ways too. There's no reason why the implementation of `List.nth` *had* to do things this way. They might instead have returned `Some a` when the list had an nth member `a`, and `None` when it does not. But it's pedagogically useful for us to think about this pattern now.
+Trivia: what's the type of the `raise (Failure "two")` in:
+
+ if x = 1 then 10
+ else raise (Failure "two")
+
+What's its type in:
+
+ if x = 1 then "ten"
+ else raise (Failure "two")
+
+So now what do you expect the type of this to be:
+
+ fun x -> raise (Failure "two")
+
+How about this:
+
+ (fun x -> raise (Failure "two") : 'a -> 'a)
+
+Remind you of anything we discussed earlier? /Trivia.
+
+Of course, it's possible to handle errors in other ways too. There's no reason why the implementation of `List.nth` *had* to raise an exception. They might instead have returned `Some a` when the list had an nth member `a`, and `None` when it does not. But it's pedagogically useful for us to think about the exception-raising pattern now.