docs: def reverse(self):
          '''Returns the sequence reversed.
  
          Note: This method uses deferred execution, but the whole source
              sequence is consumed once execution commences.
  
          Returns:
              The source sequence in reverse order.
  
          Raises:
              ValueError: If the Queryable is closed().
          '''
          if self.closed():
              raise ValueError("Attempt to call reverse() on a "
                               "closed Queryable.")
  
          # Attempt an optimised version
          try:
              r = reversed(self._iterable)
              return self._create(r)
          except TypeError:
              pass
  
          # Fall through to a sequential version
          return self._create(self._generate_reverse_result())