docs: def take(self, count=1):
          '''Returns a specified number of elements from the start of a sequence.
  
          If the source sequence contains fewer elements than requested only the
          available elements will be returned and no exception will be raised.
  
          Note: This method uses deferred execution.
  
          Args:
              count: An optional number of elements to take. The default is one.
  
          Returns:
              A Queryable over the first count elements of the source sequence,
              or the all elements of elements in the source, whichever is fewer.
  
          Raises:
              ValueError: If the Queryable is closed()
          '''
          if self.closed():
              raise ValueError("Attempt to call take() on a closed Queryable.")
  
          count = max(0, count)
  
          return self._create(itertools.islice(self, count))