ну на самом деле всё понятно же, просто надо писать на х-ле
по факту эта шткка оправдана потому что это
func :: Int -> (Int -> (Int -> Int)), но ->
право-ассоциативный оператор и поэтому скобки не нужны.
такая функция может быть вызвана с одним аргументом и это будет частичный вызов, и она вернёт в данном случае функцию Int -> (Int -> Int), которую мы также вызовем с одним аргументом и получим Int -> Int, и потом уже наконец последний вызов даст нам Int
я в курсе про это, просто удобство это вещь субъективная сейчас я не считаю ml синтаксис чем-то удобным, как по мне он гораздо хуже сиобразного, он даже хуже лиспового для меня. прям воротит когда вижу исходники проектов на хаскеле