code: def take_until(condition):
      
      f = partial(takewhile, pipe | condition | operator.not_)
      f.attrs = {'including': take_until_including(condition)}
      return f
docs: >>> [1, 4, 6, 4, 1] > take_until(X > 5) | list
      [1, 4]
  
      >>> [1, 4, 6, 4, 1] > take_until(X > 5).including | list
      [1, 4, 6]