return type.erasure();
return type.fullErasure();
    private Type eraseUnboxMethodType(Type type) {        switch (type) {        case PolyType(_, Type result):            return eraseUnboxMethodType(result);        case MethodType(Symbol[] params, Type result):            return Type.MethodType(params, eraseUnboxMethodType(result));        case TypeRef(_, Symbol clasz, Type[] args):            if (clasz == definitions.ARRAY_CLASS) {                Symbol element = args[0].symbol();                if (element.isAbstractType())                    if (element.info().symbol() == definitions.ANY_CLASS)                        return definitions.ANYREF_CLASS.nextType();            }            return type.erasure();        default:            throw Debug.abort("illegal case", type);        }    }