anchor.diff:            // return so we can wait for it.
             if (actor.needsInput) return gameResult;
   
  -          var action = actor.getAction();
  -          actions.add(action);
  +          _action = actor.getAction();
           } else {
             // This actor doesn't have enough energy yet, so move on to the next.
             stage.actors.advance();
  
positive.code: 
        // If we get here, all pending actions are done, so advance to the next
        // tick until an actor moves.
        while (actions.length == 0) {
          final actor = stage.actors.current;
  
          // If we are still waiting for input for the actor, just return (again).
  
negative.code:     final gameResult = new GameResult();
  
      while (true) {
        // Process any ongoing action.
        while (_action != null) {
          // Cascade through the alternates until we hit bottom out.
          var result = _action.perform(gameResult);
          while (result.alternative != null) {
            _action = result.alternative;
            result = _action.perform(gameResult);
          }
  
          stage.refreshVisibility(hero);
  