Nicer constraints with ConstraintKinds