@Override
    public Type resolve(@NotNull Scope s, int tag) {
        NameBinder.bindIter(s, target, iter, Binding.Kind.SCOPE, tag);

        Type ret;
        if (body == null) {
            ret = Indexer.idx.builtins.unknown;
        } else {
            ret = resolveExpr(body, s, tag);
        }
        if (orelse != null) {
            ret = UnionType.union(ret, resolveExpr(orelse, s, tag));
        }
        return ret;
    }