This question is a theoretical question about Haskell functions which can take arguments of any type. Is there a difference between the way functions with the type signatures of
a -> b -> a
and
c -> a -> c
are instantiated? Any help is appreciated.