An INTEGER within [min, max]. REFUSES out of range and refuses a fraction, for the same
reason nullableIntWithin does: a channel number, a slot, a count of ports are
IDENTITIES, not a travel. Clamping "the nearest legal one" answers a different question than
the one asked, and answers it silently — which is how a request for more channels than a box
carries becomes a quiet partial patch instead of a refusal the operator can read.
An INTEGER within [min, max]. REFUSES out of range and refuses a fraction, for the same reason nullableIntWithin does: a channel number, a slot, a count of ports are IDENTITIES, not a travel. Clamping "the nearest legal one" answers a different question than the one asked, and answers it silently — which is how a request for more channels than a box carries becomes a quiet partial patch instead of a refusal the operator can read.