I haven't digested the documentation/implementation of iterators yet, so these are likely wrong.