anchor.diff:                      References = instState.References
                   }
               | _ ->
  -            let templateForChildren = parseNodeAndSiblingsAsTemplate fileId n.FirstChild
  +            let templateForChildren = parseNodeChildrenAsTemplate fileId n
               let isSvg = n.Name = "svg"
               let state = ParseState(fileId, templateForChildren.Holes, templateForChildren.SpecialHoles)
               let el = normalElement n isSvg (lazy templateForChildren.Value) state
  -            withoutAttr n TemplateAttr <| fun () ->
  -            withoutAttr n "ws-replace" <| fun () ->
  +            withoutAttr n ReplaceAttr <| fun () ->
               let txt = n.WriteTo()
               {
                   Value = [| el |]
  
positive.code:                     addHole attr.Value (holeDef HoleKind.ElemHandler)
                      yield Attr.OnAfterRender attr.Value
                  | VarAttr | HoleAttr | ReplaceAttr | TemplateAttr | ChildrenTemplateAttr ->
                      () // These are handled separately in parseNode*
                  | s when s.StartsWith EventAttrPrefix ->
                      let eventName = s.[EventAttrPrefix.Length..]
                      let eventType = getEventType eventName
  
negative.code:     let html = HtmlDocument()
      html.LoadHtml(src)
      let clientLoad, serverLoad = ParseOptions html
      let wsTemplates = Dictionary()
      let childrenTemplateNodes =
          match html.DocumentNode.SelectNodes("//*[@"+ChildrenTemplateAttr+"]") with
          | null -> [||]
          | x -> Array.ofSeq x
      let templateNodes =
          match html.DocumentNode.SelectNodes("//*[@"+TemplateAttr+"]") with
          | null -> [||]
          | x -> Array.ofSeq x
      detachAllChildrenTemplateNodes childrenTemplateNodes wsTemplates
      detachAllTemplateNodes templateNodes wsTemplates
      let templates = Dictionary()
      for KeyValue(k, v) in wsTemplates do
          templates.Add(k, parseNodeChildrenAsTemplate fileId v)
      let rootTemplate =
          match TryGetAsSingleElement html.DocumentNode with
          | Some n -> parseNodeAsTemplate fileId n
          | None -> parseNodeChildrenAsTemplate fileId html.DocumentNode
      templates.Add(WrappedTemplateName null, rootTemplate)
      Map [ for KeyValue(k, v) in templates -> k, v ], clientLoad, serverLoad
  
  