 
     @inspect()
     debug "-> @pop()"
-    operation = @pop()
-    debug "  - popped = <#{operation.getKind()}>"
+    op = @pop()
+    debug "  - popped = <#{op.getKind()}>"
     debug "  - newTop = <#{@peekTop()?.getKind()}>"
     unless @isEmpty()
       try
-        debug "-> <#{@peekTop().getKind()}>.compose(<#{operation.getKind()}>)"
-        @peekTop().compose(operation)
+        debug "-> <#{@peekTop().getKind()}>.compose(<#{op.getKind()}>)"
+        @peekTop().compose(op)
         debug "-> @process(): recursive"
         @process()
       catch error

        else
          throw error
    else
      @vimState.history.unshift(operation) if operation.isRecordable()
      if operation.isPure()
        null # Something new way of execution.
      else
        debug " -> <#{operation.getKind()}>.execute()"
        operation.execute()
        @vimState.counter.reset()
        debug "#=== Finish at #{new Date().toISOString()}\n"


  isEmpty: ->
    @stack.length is 0

  isSameOperatorPending: (op) ->
    constructor = op.constructor
    _.detect @stack, (op) ->
      op instanceof constructor

  isProcessing: ->
    @processing
