in lib/anthropic/internal/util.rb [627:649]
def fused_enum(enum, external: false, &close)
fused = false
iter = Enumerator.new do |y|
next if fused
fused = true
if external
loop { y << enum.next }
else
enum.each(&y)
end
ensure
close&.call
close = nil
end
iter.define_singleton_method(:rewind) do
fused = true
self
end
iter
end