The second part describes the tail end of the entire list, not the tail of any list item. For example:
[1, 2, 3 | [] ]
In the above, the “First Part” in the type describes 1, 2, 3 and the “Second Part” describes only []. So in your example [h | t ], the type of t is the union of the “first part” and “second part” unless we know that it is the end of the list, then it is only the “second part”.






















