array-range generator