question: public Type resolveAliases ( ) { if ( resolvedAliases == null ) { checkDepth ( ) ; if ( ! isTuple ( ) ) { incDepth ( ) ; } try { resolvedAliases = resolveAliasesInternal ( ) ; } finally { if ( ! isTuple ( ) ) { decDepth ( ) ; } } resolvedAliases . resolvedAliases = resolvedAliases ; if ( resolvedAliases != this ) { if ( ! Objects . equals ( resolvedAliases . underlyingType , underlyingType ) || resolvedAliases . isRaw != isRaw ) { resolvedAliases = resolvedAliases . clone ( ) ; resolvedAliases . resolvedAliases = resolvedAliases ; resolvedAliases . underlyingType = underlyingType ; resolvedAliases . isRaw = isRaw ; } } } return resolvedAliases ; }
target:  Eliminate type aliases from this type, recursively expanding them into their aliased types. Canonicalize the type by side-effect!