# File lib/backports/2.0.0/enumerator/lazy.rb, line 106
    def take_while
      raise ArgumentError, "tried to call lazy take_while without a block" unless block_given?
      Lazy.new(self) do |yielder, *values|
        throw @@done unless yield(*values)
        yielder.yield(*values)
      end
    end