As the question says, why is toList (1, 2) == [2]?
toList (1, 2) == [2]
I remember something similar happening when fmapping on tuples, but I do not remember why or if it is
The results do make more sense when you interpret the function names like this:
length - how many values will be touched by fmap, fold etc.
length
fmap
fold
toList - what elements will be touched by fmap, fold etc.
toList
As long as
length x == length (toList x)
the world is fine.