The Free On-line Dictionary of Computing (30 December 2018):
principal type
   The most general type of an expression.  For example, the
   following are all valid types for the lambda abstraction
   (\ x . x):
   	Int -> Int
   	Bool -> Bool
   	(a->b) -> (a->b)
   but any valid type will be an instance of the principal type:
   a -> a.  An instance is derived by substituting the same type
   expression for all occurences of some type variable.  The
   principal type of an expression can be computed from those of
   its subexpressions by Robinson's unification algorithm.
   (1994-12-16)