# File lib/core/facets/enumerable/defer.rb, line 34
  def defer(&blk)
    if block_given?
      Denumerator.new do |output|
        each do |*input|
          yield output, *input
        end
      end
    else
      Denumerator.new do |output|
        each do |*input|
          output.yield *input
        end
      end
    end
  end