note
tye
<p>
It means, "avoid arbitrary limits", but the concreteness of "0, 1, or unlimited" is a useful benchmark.
</p><p>
There are sometimes fundamental reasons for imposing limitations like "there can be at most one X per Y" (0 or 1), "there must always be exactly one X for each Y" (1), "no Y can ever have an X" (0). While limitations like "a Y can never have more than 5 Xs" are most often just arbitrary limits.
</p><p>
Arbitrary limits very often come back to bite you. So it is good to have at least some motivation to do the extra (or perhaps just "different") work up-front to eliminate such arbitrary restrictions.
</p><p>
So being at least suspicious of any "at most N" (for N > 1) restrictions is a good habit.
</p><p>
Of course, sometimes 0 or 1 limits are actually arbitrary and (rarely) specific finite limits above 1 are not arbitrary. But the "0, 1, or unlimited" test is <em>very</em> useful.
</p>
<div class="pmsig"><div class="pmsig-22609"><p align="right">
- [tye]<tt> </tt>
</p></div></div>
455418
532217