При множественном сопоставлении шаблонов различное количество аргументов невозможно, даже без точечного!
foo True b = b + 2
foo _ = id
не работает, например. Но
foo True = (+2)
foo _ = id
делает. Иногда мы можем использовать point-free только в одной части функции, поэтому...
Почему? Это слишком сложно для GHC?: '(