Here's an idea I've had. How about instead of this:
itertools.islice(iterable, 7, 20)
We'll just have:
itertools.islice(iterable)[7:20]
Advantages: 1. More familiar slicing syntax. 2. No need to awkwardly use None when you're interested in just specifying the end of the slice without specifying the start, i.e. islic(x)[:10] instead of islice(x, None, 10) 3. Doesn't require breaking backwards compatibility.
What do you think?