code: def fold_right(self, zero_value, func):
          
          result = zero_value
          for element in self.reverse():
              result = func(element, result)
          return _wrap(result)
docs: Assuming that the sequence elements are of type A, folds from right to left starting with
          the seed value given by zero_value (of type A) using a function of type
          func(next: A, current: B) => B. current represents the folded value so far and next is the
          next element from the sequence to fold into current.
  
          >>> seq('a', 'b', 'c').fold_left(['start'], lambda next, current: current + [next])
          ['start', 'c', 'b', a']
  
          :param zero_value: zero value to reduce into
          :param func: Two parameter function as described by function docs
          :return: value from folding values with func into zero_value from right to left