    # File lib/facets/more/ioredirect.rb, line 51
      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