tcfail044.hs:5: Illegal instance declaration for `Eq (a -> a)' (the instance type must be of form (T a b c) where T is not a synonym, and a,b,c are distinct type variables) tcfail044.hs:8: Illegal instance declaration for `Num (a -> a)' (the instance type must be of form (T a b c) where T is not a synonym, and a,b,c are distinct type variables)