private Type relaxBound(Type t) {
        if (t.tag == TYPEVAR) {
            while (t.tag == TYPEVAR)
                t = t.getUpperBound();
            t = rewriteQuantifiers(t, true, true);
        }
        return t;
    }