Haskell делает это так, потому что это предшественники (например, LML и Miranda). Нет никаких технических причин, по которым это должно быть так; уравнения с меньшим числом аргументов могут быть расширены. Но наличие разного количества аргументов для разных уравнений, вероятно, является опечаткой, а не преднамеренной, поэтому в этом случае мы запрещаем что-то разумное и редко удается получить отчет об ошибках в общем случае.