Returns a function that first returns the start value, and returns previous value + step on
  each subsequent call.

def incrementor(start=0, step=1):
  """Returns a function that first returns the start value, and returns previous value + step on
  each subsequent call.
  """
  def fxn(_):
    """Returns the next value in the sequnce defined by [start::step)"""
    nonlocal start
    rval = start
    start += step
    return rval
  return fxn