Just finished chapter 2 (“Getting Started in ML”). One question has me stumped. We're given a bunch of type expressions and asked to provide examples of values that have those types. The one that I can't seem to find an example for is:
((int * int) * (bool list) * real) * (real * string)
I can easily construct an example that matches
((int * int) * bool list * real) * (real * string)
but what has the type (bool list)? A tuple with one element is really just a parenthesized expression (consider the equivalent expressions a + (b * (c)) and a + (b * c)).
I'm doing the exercises with Moscow ML.