                here = new Paws.reactor.Unit
                here.stage root
                
+               # TODO: Use queue-flushing for optional exiting, instead of --no-start
                here.start() unless argf.start == false
       
       else argv.unshift('start', operation) and choose()

         interact.start()
      
      when 'st', 'start'
         readFilesAsync(argv).then (files)->
            sources.push files...
            _.forEach sources, (source)->

   if (argf.version)
      return version()
   
   # TODO: Decouple this from file-reading
   sources = _([argf.e, argf.expr, argf.expression])
      .flatten().compact().map (expression)-> { from: expression, code: expression }
      .value()
