code: function appendChild(parent, child, currentView) {
      if (child !== null && canInsertNativeNode(parent, currentView)) {
          var renderer = currentView[RENDERER];
          if (parent.tNode.type === 2 /* View */) {
              var container = getParentLNode(parent);
              var renderParent = container.data[RENDER_PARENT];
              var views = container.data[VIEWS];
              var index = views.indexOf(parent);
              var beforeNode = index + 1 < views.length ? (getChildLNode(views[index + 1])).native : container.native;
              isProceduralRenderer(renderer) ?
                  renderer.insertBefore(renderParent.native, child, beforeNode) :
                  renderParent.native.insertBefore(child, beforeNode, true);
          }
          else {
              isProceduralRenderer(renderer) ? renderer.appendChild(parent.native, child) :
                  parent.native.appendChild(child);
          }
          return true;
      }
      return false;
  }
docs: Appends the `child` element to the `parent`.
  
  The element insertion might be delayed {@link canInsertNativeNode}.
  
  @param parent The parent to which to append the child
  @param child The child that should be appended
  @param currentView The current LView
  @returns Whether or not the child was appended