(PUP-939) Add enumerable types support to iterative functions

This adds support to give an enumerable type (only Integer range currently) to one of the iterative functions (each, map, filter, reduce, slice).