Uma função com vários argumentos pode ser codificada de duas formas :

soma :: (Int,Int) -> Int
soma (x,y) = x + y

soma recebe um par de inteiros (x,y) e devolve o resultado inteiro x+y

add :: Int -> (Int -> Int)
add x y = x + y

add recebe um inteiro x e devolve uma função (add x). Depois esta função recebe o inteiro y e devolve o resultado x+y.