Given an object X which may either be an in-memory, __getitem__-capable map like a numpy array... Or a bigger-than-memory generator (specifically a
X
__getitem__