# File lib/more/facets/ioredirect.rb, line 42
  def start
    raise "Redirection already in progress" if @t
    tmp = @from.dup
    r, w = *IO.pipe
    @from.reopen(w)
    @t = Thread.new do
      begin
        loop do
          s = r.read(1) # TODO: can I make this buffered?
          @to.write(s)
        end
      ensure
        @from.reopen(tmp)
        @t = nil
      end
    end
  end