implement `flatMap`
implemented `size` (by counting)
implement `min` and `max` in terms of Reduce
support adding extra inits from generators