anchor.diff:      });
     };
   
  +  // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  +
     const replInit = () => {
       // Trying to put Terminal inside a jQuery dialog is, empirically,
       // very tricksy (because of CSS z-Index issues I think).
       const element = document.getElementById('repl-terminal');
       const terminal = createTerminalIn(element);
  +    setSessionId();
       createRepl(terminal).then(() => {
         const socket = new SocketMonitor(socketUrl(), terminal);
         resumeButton.unbind().click(() => {
  -        deleteRepl();
           socket.close();
  -        closeReplPage();
         });
       });
     };
  
positive.code: 'use strict';
  $(() => {
  
    // Do repl-state change the same way as the traffic-light
    // click review-state change. Viz, a page-flip.
  
    const kataPage = $('#kata-page');
    const replPage = $('#repl-page');
    const resumeButton = $('.resume-button', replPage);
    let sessionId = null;
  
    cd.openReplPage = () => {
      // If the repl docker container's id was based *only* on the kata-id,
      // then creating a new repl could  fail if there was a very recent
      // [resume], which caused a repl DELETE request, but the docker daemon
      // had not yet actually deleted the repl container.
      // So the repl and socket Urls for a repl session have a random suffix.
      sessionId = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0,6);
      kataPage.fadeOut('slow', () => {
        replPage.fadeIn('slow', () => {
          replInit();
  
negative.code:   const replFini = () => {
      // Empty the dom element so next [repl] click is clean.
      $('#repl-terminal').empty();
    };
  
    const setSessionId = () => {
      // If the repl docker container's id was based *only* on the kata-id,
      // then creating a new repl could  fail if there was a very recent
      // [resume], which caused a repl DELETE request, but the docker daemon
      // had not yet actually deleted the repl container.
      // So the repl and socket Urls for a repl session have a random suffix.
      sessionId = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0,6);
    };
  
    //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  