code: def reduce(source, func, initializer=None):
      
      acc = accumulate.raw(source, func, initializer)
      return select.item.raw(acc, -1)
docs: Apply a function of two arguments cumulatively to the items
      of an asynchronous sequence, reducing the sequence to a single value.
  
      If ``initializer`` is present, it is placed before the items
      of the sequence in the calculation, and serves as a default when the
      sequence is empty.