if (tlinks.length <= level) return Type.localThisType;
if (level == outers.length - 1) { assert outers[level].clasz.isRoot(): level + " - " + this; return Type.localThisType; }
        public Type getTypeLink(int level) {            if (tlinks.length <= level) return Type.localThisType;            if (tlinks[level] != null) return tlinks[level].type();            return Type.singleType(getTypeLink(level + 1), outers[level].clasz.module());        }