private String resolveTypeNameAliases(String typeName) {
		String origTypeName = typeName;

		String result = STATIC_GOTYPE_ALIASES.get(typeName);
		if (result != null) {
			return result;
		}
		if (apiSnapshot != null) {
			int loopCount = 0;
			GoTypeDef snapshotType;
			while (!typeNameIndex.containsKey(typeName) &&
				(snapshotType = apiSnapshot.getTypeDef(typeName)) != null) {
				if (snapshotType instanceof GoAliasDef aliasDef) {
					typeName = aliasDef.Target;
				}
				else if (snapshotType instanceof GoBasicDef basicDef) {
					typeName = basicDef.DataType;
				}
				else {
					break;
				}
				if (loopCount++ > 10) {
					return origTypeName;
				}
			}
		}
		return typeName;
	}
Returns a specialized {@link GoType} for the type that is located at the specified location.

@param addr location of a go type
@return specialized {@link GoType} (example, GoStructType, GoArrayType, etc)
@throws IOException if error reading
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoTypeManager.java