Is it possible to automatically derive instances of Numeric type classes like Num, Fractional, Real, Floating, etc?

I currently have two datatypes, Pair and Triple, that are defined like this:

data Pair a = Pair a a
data Triple a = Triple a a a

I wrote these pretty trivial instances for Num and Floating:

instance Num a => Num (Pair a) where
  (+) = liftA2 (+)
  (*) = liftA2 (*)
  abs = liftA abs
  negate = liftA negate
  signum = liftA signum
  fromInteger = pure . fromInteger

instance Fractional a => Fractional (Pair a) where
  (/) = liftA2 (/)
  recip = liftA recip
  fromRational = pure . fromRational

and practically identical instances for Triple as well.

Is there anyway to have GHC derive these instances and the other numeric type classes?

Thanks,
Jake