public Type resolve(Scope s, int tag) {
        if (op.id.equals("and")) {
            Type last = null;
            for (Node e : values) {
                last = resolveExpr(e, s, tag);
            }
            return (last == null ? Indexer.idx.builtins.unknown : last);
        }

        // OR
        return resolveListAsUnion(values, s, tag);
    }