Prelude> :t (+)(+) :: (Num a) => a -> a -> a
What I understand from the above is that "+" is a function that takes two argswhich are types of anything that IS-AN instance of "Num" (Int, Integer, Float, Double)and returns an instance of "Num".