anchor.diff:      let dataVar = xn"data-var"
       let dataAttr = xn"data-attr"
       let dataEvent = "data-event-"
  +    let (|SpecialHole|_|) (a: XAttribute) =
  +        match a.Value.ToLowerInvariant() with
  +        | "scripts" | "meta" | "styles" -> Some()
  +        | _ -> None
   
       do
           this.Disposing.Add <| fun _ ->
  
positive.code:                                                 %nodes :> _ @>
                                          else failwithf "data-var attribute \"%s\" on invalid element \"%s\"" a.Value n
  
                              | a -> getSimpleHole a.Value
                          
                          let mainExpr = t |> createNode true
  
negative.code:                                     if isRoot then <@ [||] @> else
                                      e.Attributes() 
                                      |> Seq.filter (fun a ->
                                          if a.Name = dataHole then
                                              (|SpecialHole|_|) a = Some ()
                                          else
                                              a.Name <> dataVar)
                                      |> Seq.map (fun a -> 
                                          let n = a.Name.LocalName
                                          if n.StartsWith dataEvent then
  