The COM model for enumeration (enumeration objects)
is biased towards making
life easy for the consumer and hard for the producer.
The enumeration object (producer)
needs to be structured as a state machine,
which can be quite onerous for complicated enumerators,
for example, tree walking or composite enumeration.
On the other hand, the ...