4.2. What does it take to be a Num?

From the Num documentation, we see that a Number has the following functions (http://www.haskell.org/ghc/docs/latest/html/base/GHC.Num.html#Num

class (Eq a, Show a) => Num a where
  (+) :: a -> a -> a
  (-) :: a -> a -> a
  (*) :: a -> a -> a
  negate :: a -> a
  abs :: a -> a
  signum :: a -> a
  fromInteger :: Integer -> a

And if we want to make something a Num, then we'd have to implement those functions.