Member predicate Type::hasUnderlyingType
Holds if this refers to the given named type, or is declared as a subtype thereof, or is a union or intersection containing such a type.
This is useful for recognising expressions that may refer to an instance of a given type, without relying on the exact static type of the expression.
predicate hasUnderlyingType(string globalName)