I think panic falls under "undefined" :)    If you put that into specification, then all custom iterators need to implement it, because there can be a piece of code relying on it. If there is a good reason for it, that's fine. If not, it's extra burden on implementations.  