G'day all.
Quoting "Benjamin L.Russell"
Haskell doesn't have a notion of a one-element tuple.
Why not?
As noted by others, there's no syntactic space for them. Perhaps more crucially, it's hard to see where such a thing would be useful. The 2-tuple (i.e. pair) is a categorical product, and can be used to carry around two things where you would normally only have space for one. The 0-tuple (i.e. void) is a categorical terminal object, and can be used to fill in space in a parametric data structure where no annotation is actually needed. One reason why they're provided in the Prelude is so that standard functions can do operations on them. It's hard to see where a standard function would use a generic 1-tuple. Generally speaking, if you need a type-checked 1-tuple, you almost certainly don't want a generic one. Cheers, Andrew Bromage