   isEmpty: ->
     @stack.length is 0
 
-  isSameOperatorPending: (operation) ->
-    constructor = operation.constructor
-    _.detect @stack, (operation) ->
-      operation instanceof constructor
+  isSameOperatorPending: (op) ->
+    constructor = op.constructor
+    _.detect @stack, (op) ->
+      op instanceof constructor
 
   isProcessing: ->
     @processing

        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"



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