I'm wondering whether it should be named `ConstrainedFieldBuilder` to be consistent with `ConstrainedField` etc.?