def count(start=0, step=1):
    """Make an iterator that returns evenly spaced values starting with `start`.
  Often used as an argument to :func:`imap` to generate consecutive data points.
  Also, used with :func:`izip` to add sequence numbers.

  When counting with floating point numbers, better accuracy can sometimes be
  achieved by substituting multiplicative code such as: ``(start + step * i for
  i in count())``.

  .. note:: Software and documentation for this function are taken from
            CPython, :ref:`license details <psf-license>`.
  """
    n = start
    while True:
        yield n
        n += step
