The signature of everything that's not a method, i.e. that has a type different from PolyType, MethodType, or ExprType.
The signature of an overloaded denotation.
The signature of a method with no parameters and result type
The resulting value is only cacheable if
isUnderDefined == false,
otherwise the signature will change once the contained type variables have