better Generator implementation
better ExtensibleCollectionType implementation