AFAIK there's no enumerator defined for TFPGMap, only for TFPG[[Interfaced]Object]List. Indeed everywhere each implementation has their own convention, some return the keys, some return the data, some return a compound type having both as fields. So TFPGMap just provides the first two ways for anyone to use accordingly, as the third way can be done using good ol' classic square bracket indexing.