Concerning #3: There is no need to avoid a logical disjunction of
two constraints within a single pattern. It's only a disjunction of
patterns that results in a rule split, which may cause surprising
results.
Ah. That was a distinction I hadn't caught on to, though it's pretty
obvious to me now that I think about it. I will just go that route
then; it results in much more readable code.
Thanks.
Mike