[Haskell-cafe] RLE in Haskell: why does the type variable get instantiated?