<later> Wow again. I had a real "V8 moment" when I looked at your solution (smacking my forhead, groaning ruefully, etc). You were right: my intention was simply to hide the trivial cases from view; I completely missed the fact that I was now testing for membership in a different set. I should have remembered that python "plays fair", and looked a little harder to find my mistake.
Thanks again, Sean -- http://mail.python.org/mailman/listinfo/python-list