anchor.diff:      }
   
       /**
  -     * Resolves the promise created by loadEntrypoint. Called by Flutter.
  -     * Needs to be weirdly bound like it is, so "this" is preserved across
  -     * the JS <-> Flutter jumps.
  +     * Resolves the promise created by loadEntrypoint.
  +     * Called by Flutter through the public `didCreateEngineInitializer` method,
  +     * which is bound to the correct instance of the FlutterLoader on the page.
        * @param {*} engineInitializer
        */
  -    didCreateEngineInitializer = (function(engineInitializer) {
  +    _didCreateEngineInitializer(engineInitializer) {
         if (typeof this._didCreateEngineInitializerResolve != "function") {
           console.warn("Do not call didCreateEngineInitializer by hand. Start with loadEntrypoint instead.");
         }
         this._didCreateEngineInitializerResolve(engineInitializer);
  -      // Remove this method after it's done, so Flutter Web can hot restart.
  +      // Remove the public method after it's done, so Flutter Web can hot restart.
         delete this.didCreateEngineInitializer;
  -    }).bind(this);
  +    }
   
       _loadEntrypoint(entrypointUrl) {
         if (!this._scriptLoaded) {
  
positive.code: (function() {
    "use strict";
    class FlutterLoader {
      // TODO: Move the below methods to "#private" once supported by all the browsers
      // we support. In the meantime, we use the "revealing module" pattern.
  
      // Watchdog to prevent injecting the main entrypoint multiple times.
      _scriptLoaded = null;
  
      // Resolver for the pending promise returned by loadEntrypoint.
      _didCreateEngineInitializerResolve = null;
  
      /**
       * Initializes the main.dart.js with/without serviceWorker.
  
negative.code:           let scriptTag = document.createElement("script");
            scriptTag.src = entrypointUrl;
            scriptTag.type = "application/javascript";
            // Cache the resolve, so it can be called from Flutter.
            // Note: Flutter hot restart doesn't re-create this promise, so this
            // can only be called once. Instead, we need to model this as a stream
            // of `engineCreated` events coming from Flutter that are handled by JS.
            this._didCreateEngineInitializerResolve = resolve;
            scriptTag.addEventListener("error", reject);
            document.body.append(scriptTag);
          });
  