To make this public, I think we need a better name. Filter implies the addition of the given constraints to the view:
```
Dataset<User> users = repo.open("users");
admins = user.with("is_admin", true);
moderators = users.with("is_moderator", true);
moderators.filter( admins.getConstraints() ); // group == admin
```

A short-term solution is to expose this on just `Dataset` and not on `View`, but I think longer term we should fix the semantics to intersect the existing and new `Constraints`.