Added "should satisfy" constraints that can be somewhat violated.