The advice I've always heard is that inheritance from anything in the standard is frowned upon. I should have a has-a not is-a relationship to it.
I think that is not true with respect to iterators, right? We must inherit from iterator
in our boilerplate right?