Type variable x represents any type, so we cannot assume…

A polymorphic function has to be able to work for any input type. Thus, it cannot assume that input values of a polymorphic type support any operations in particular. For example, the type of the function h below claims it works for any type a at all, but the implementation of h uses subtraction (which does not actually work for any type):

h : a -> a
h(x) = x - 3