docs: def default_if_empty(self, default):
          '''If the source sequence is empty return a single element sequence
          containing the supplied default value, otherwise return the source
          sequence unchanged.
  
          Note: This method uses deferred execution.
  
          Args:
              default: The element to be returned if the source sequence is empty.
  
          Returns:
              The source sequence, or if the source sequence is empty an sequence
              containing a single element with the supplied default value.
  
          Raises:
              ValueError: If the Queryable has been closed.
          '''
  
          if self.closed():
              raise ValueError("Attempt to call default_if_empty() on a "
                               "closed Queryable.")
  
          return self._create(self._generate_default_if_empty_result(default))