fiber/io: avoid allocating Range objects for slicing