>>58
Because that's just simply not how tuples are defined in Haskell. How couldn't you get over that?
You can do the following if you're so anally about that though:
data Tuple a b = Tuple (Tuple a b) b| NIL
Now if x has the type Tuple a b, it can be unified with a tuple with the type Tuple x y (y has the type b of course).