Guido van Rossum email@example.com writes:
Interestingly enough, the exception message says "__nonzero__ should return an int" but really means "__nonzero__ must return an int".
You've been staring at standards too much, haven't you? The difference between MUST and SHOULD isn't as clear-cut as most standards people use them.
Given Andrew's remark, it really should be "__nonzero__ shall return an in int" :-)