On Feb 23, 2013, at 3:11 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:

 I suspect for many cases involving more advanced
range variants, containment would be a better option than inheritance,
particular if you want to implement a type that can't be reliably
described through a (start, stop, step) triple.

I concur.  Subclassing range() is just asking for trouble.