docs: def decaying(start, stop, decay):
      """Yield an infinite series of linearly decaying values."""
      def clip(value):
          return max(value, stop) if (start > stop) else min(value, stop)
      nr_upd = 1.
      while True:
          yield clip(start * 1./(1. + decay * nr_upd))
          nr_upd += 1