anchor.diff:                                          let n = a.Name.LocalName
                                           if n.StartsWith dataEvent then
                                               let eventName = n.[dataEvent.Length..]
  -                                            let cbVar = getCallbackVar a.Value
  +                                            let cbVar = getVar a.Value
                                               <@ Attr.Handler eventName %cbVar @>
                                           else
                                               match getParts a.Value with
  
positive.code:     let templateTy = ProvidedTypeDefinition(thisAssembly, rootNamespace, "Template", None)
  
      let mutable watcher: FileSystemWatcher = null
  
      let objTy = typeof<obj>
      let docTy = typeof<Doc>
      let attrTy = typeof<Attr>
      let textTy = typeof<View<string>>
      let stringVarTy = typeof<Var<string>>
      let callbackTy = typeof<WebSharper.JavaScript.Dom.Event -> unit>
  
      let textHoleRegex = Regex @"\$\{([^\}]+)\}" 
      let dataHole = xn"data-hole"
  
negative.code:                                                 getParts n.Value
                                                  |> List.map (function
                                                      | TextPart t -> <@ Doc.TextNode t @>
                                                      | TextHole h -> <@ Doc.TextView %(getVar h) @>
                                                  )
                                              | _ -> []
                                          ) 
                                          |> ExprArray
                                      | a -> <@ [| %(getVar a.Value) |] @>  
  
                                  if isRoot then 
                                      <@ Doc.Concat %nodes @>
  