nSyntax allows a single
external iterator to act as an internal iterator. (foreach)
nOne cannot
add iterators to sealed classes by extention or inheritance.Use proxy or reimplementation.
nExternal
iterators may require casting and are subject to runtime
errors.