title: Sequence of ranges including the last pair as a generator
body: <p>I have ranges like these :</p>
  <pre><code>  list(zip(range(1,1152,200),range(200,1351,200))) 
    [(1, 200), (201, 400), (401, 600), (601, 800), (801, 1000), (1001, 1200)]
  
    list(zip(range(1,401,100),range(100,511,100))) 
    [(1, 100), (101, 200), (201, 300), (301, 400)]
  </code></pre>
  <p>As you can see I'm missing the last pair : <strong>(1201,1350) and (401,510)</strong></p>
  <p>The question how to add it, but keep the thing GENERATOR i.e. lazy (the list() here is for display purposes)</p>
  <p>The logic is sequence of ranges where N  .. M, Step :</p>
  <pre><code> [ (N,N+S), (N+S+1, N+2S), (N+2S+1, N+3S), ... up to (N+xS+1,M) ]
  </code></pre>