anchor.diff:      $(`div#predict-${colour}`, $node).click(() => {
         $node.remove();
         predicted.val(colour);
  -      const srcIndex = $lastTrafficLight().data('index');
  -      handler(() => complete(colour, srcIndex));
  +      const $oldLast = $lastTrafficLight();
  +      handler(() => complete(colour, $oldLast));
       });
     };
   
  
positive.code:     $(`.predict-blurb.${colour}`, $node).click(() => {
        $node.remove();
        predicted.val(colour);
        const srcIndex = $lastTrafficLight().data('index');
        handler(() => complete(colour, srcIndex));
      });
    };
  
    //- - - - - - - - - - - - - - - - - - - - - - - - -
    const complete = (predictedColour, srcIndex) => {
      const actualColour = $lastTrafficLight().data('colour');
      if (tcr[predictedColour] && actualColour != predictedColour) {
        cd.checkout({ src_id:cd.kataId(), src_index:srcIndex });
      }
    };
  
negative.code:   const openPredictionDialog = (handler) => {
      const html = '<div>' + tcrInput() + tcrInfo() + '</div>';
      const $node = $(html);
      $('.tcr', $node).show();
      setupRagClick(handler, $node, 'red');
      setupRagClick(handler, $node, 'amber');
      setupRagClick(handler, $node, 'green');
  