class AAA a where (+++) :: a -> a -> a (///) :: a -> a -> a (***) :: Num a => a -> a -> a x *** y = x * x * y instance AAA Double where x +++ y = 2*x + y x /// y = x/2 + y instance AAA Integer where x +++ y = 10*x + y x /// y = x `div` y