Fullscreen Elm App in 0.19 (childNode issue) Reopened again

This builds on

I noticed the same issue with the google maps webcomponent from polymer. The question raised by @evancz before was where in the dom tree are changes being made, and in this case the answer is ‘pretty random’ - you can see that in addition to adding children to the google-map element, a script tag has been inserted between two of the other children.

The lies in the way that IronJsonpLibraryBehavior is implemented, but I suspect is widely used in Polymer. The key code reads

  addScript: function(src) {
    var script = document.createElement('script');
    script.src = src;
    script.onerror = this.handleError.bind(this);
    var s = document.querySelector('script') || document.body;
    s.parentNode.insertBefore(script, s);
    this.script = script;

So the work around seems to be place a <script> tag somewhere in the html. Orherwise I suppose it is some sort of race condition that leads to placement of the script tag between two of the elm divs.