Int -> (Int -> Int) も
Int -> Int -> Int も同じやろ

add 1 2 としたらIntになるし
add 1 としたらInt -> Intの関数が得られる
それだけ

更に引数3つとるaddなら
add = \x -> (\y -> (\z -> x + y + z))
と同じ意味だし、haskellはデフォでそういう仕組になってるってことやろ