We've been avoiding internal iterators, so is there a reason why this isn't an external one?