docs: function applyInnerHTMLFix(document, DOMHelperClass, svgNamespace) {
          if (!document) return DOMHelperClass;
          var svg = document.createElementNS(svgNamespace, 'svg');
          try {
              svg['insertAdjacentHTML']('beforeEnd', '<circle></circle>');
          } catch (e) {} finally {
              // FF: Old versions will create a node in the wrong namespace
              if (svg.childNodes.length === 1 && svg.firstChild.namespaceURI === SVG_NAMESPACE) {
                  // The test worked as expected, no fix required
                  return DOMHelperClass;
              }
          }
          var div = document.createElement('div');
          return (function (_DOMHelperClass) {
              _inherits(DOMHelperWithSVGInnerHTMLFix, _DOMHelperClass);
  
              function DOMHelperWithSVGInnerHTMLFix() {
                  _classCallCheck(this, DOMHelperWithSVGInnerHTMLFix);
  
                  _DOMHelperClass.apply(this, arguments);
              }
  
              DOMHelperWithSVGInnerHTMLFix.prototype.insertHTMLBefore = function insertHTMLBefore(parent, nextSibling, html) {
                  if (html === null || html === '') {
                      return _DOMHelperClass.prototype.insertHTMLBefore.call(this, parent, nextSibling, html);
                  }
                  if (parent.namespaceURI !== svgNamespace) {
                      return _DOMHelperClass.prototype.insertHTMLBefore.call(this, parent, nextSibling, html);
                  }
                  // IE, Edge: also do not correctly support using `innerHTML` on SVG
                  // namespaced elements. So here a wrapper is used.
                  var wrappedHtml = '<svg>' + html + '</svg>';
                  div.innerHTML = wrappedHtml;
                  var first = undefined,
                      last = undefined,
                      current = undefined;
                  first = current = div.firstChild.firstChild;
                  while (current) {
                      last = current;
                      parent.insertBefore(current, nextSibling);
                      current = current.nextSibling;
                  }
                  return new _glimmerRuntimeLibBounds.ConcreteBounds(parent, first, last);
              };
  
              return DOMHelperWithSVGInnerHTMLFix;
          })(DOMHelperClass);
      }