Недостаток неслифтованных продуктов?
В Haskell продукты с поднятым типом означают, что между (a, b, c) и (a, (b, c)) существует семантическая разница.
Если бы все совпадения образцов всех продуктов всегда были неопровержимыми, тогда не было бы никакой разницы, и (a, b, c) мог бы быть синтаксическим сахаром для (a, (b, c)).
Почему Haskell решил поднять тип продукции?