> AFAICT, Python still makes no guarantee wrt comparison of
> of objects of different types over time:
That's true, and in particular the relative (wrt objects of non-None
types) ordering of None _has_ changed across CPython releases.
The "Total Ordering and Persistence" section of the ZODB Programming
Guide explains some BTree requirements in detail, including why, e.g.,
it's not even safe to mix str keys with unicode keys:
Zope3-dev mailing list