Curried Functions
ghci> multiply x y z = x * y * z
ghci> :t multiply
multiply :: Num a => a -> a -> a -> a
-- a -> a -> a -> a actually means:
Num a => a -> (a -> (a -> a))multiply x y z
-- is actually:
((multiply x) y) zLast updated
ghci> multiply x y z = x * y * z
ghci> :t multiply
multiply :: Num a => a -> a -> a -> a
-- a -> a -> a -> a actually means:
Num a => a -> (a -> (a -> a))multiply x y z
-- is actually:
((multiply x) y) zLast updated