anchor.diff:                  p.ReplaceChild(n, el) |> ignore
           FakeRoot [| el |]
   
  -    let rec PrepareTemplateStrict (baseName: string) (name: option<string>) (els: Node[]) (root: option<Element>) (prepareLocalTemplate: option<string -> unit>) =
  +    module private Prepare =
  +
           let convertAttrs (el: Dom.Element) =
               let attrs = el.Attributes
               let toRemove = [||]
  
positive.code:                     if n.NodeType = Dom.NodeType.Element then
                          let n = n :?> Dom.Element
                          if n.HasAttributes() then
                              fillInstanceAttrs instance n
                          else
                              fillDocHole instance n
              mapHoles instance mappings
              // 5. insert result.
              fill instance el.ParentNode el
              el.ParentNode.RemoveChild(el) |> ignore
  
          let rec convertNestedTemplates (el: Element) =
  
negative.code:                     for i in parsed do
                          fillWith.AppendChild(i) |> ignore
                  convertElement fillWith
                  Prepare.fill fillWith p n
              DomUtility.IterSelector instance "[ws-attr-holes]" <| fun e ->
                  let holeAttrs = e.GetAttribute("ws-attr-holes").Split([|' '|], StringSplitOptions.RemoveEmptyEntries)
                  for attrName in holeAttrs do
  