instance Show (a -> b) where
show f = "
instance Eq (a -> b) where
f == g = False
instance (Integral a, Integral b) => Num (a -> b) where
f + g = \x -> f x + g x
f - g = \x -> f x - g x
f * g = \x -> f x * g x
fromInteger n = \m -> fromIntegral m + fromIntegral n
abs f = undefined
signum f = undefined
(<+>) :: Int -> Int -> Int
(<+>) x y = x + y