       #      be moved to start().
       @readline = readline.createInterface
          input: @_?.input ? process.stdin, output: @_?.output ? process.stdout
-      
       @readline.setPrompt @_?.prompt ? ':: '
+      @readline.line_style = T.sgr 7
+      @readline.clear_style = T.sgr 27
+      @hackReadline()
       
       @error_renderer = @_?.error_renderer
       unless @error_renderer?

      @prompt()
   .rename '<interact: resume prompt>'
   
   # Generates an `Execution` that will print information about the `Thing` passed to it
   # (presumably, the final result of a line of code typed into the `Interactive`.)

      SIGTERM = =>
         @here.stop()
         @readline.write "\x1b[2K\x1b[0G" # Zero cursor.
         @readline.write @readline.clear_style
         @readline.close()
         process.stdin.destroy()
      @readline.on 'close', SIGTERM
      process.on 'SIGTERM', SIGTERM
      
      SIGTSTP = =>
         process.once 'SIGCONT', =>
            @readline.input.pause()
            @readline.input.resume()
            @readline._setRawMode true
            @readline._refreshLine()
         
         @readline.write @readline.clear_style
         @readline._setRawMode false
         process.kill process.pid, 'SIGTSTP'
         
      @readline.on 'SIGTSTP', SIGTSTP
      
      Paws.alert "Successive lines will be evaluated as executions, with shared `locals`."
      Paws.alert "   (#{T.bold '⌃d'} to close the input-stream; "+
                     "#{T.bold '⌃c'} to synchronously force new prompt)"
      @prompt()
   
   
