anchor.diff:      abstract GetExitAnim : Element -> Anim
       [<Name "NSync">]
       abstract Sync : Element -> unit
  -    [<Name "NInit">]
  -    abstract Init : Element -> unit
   
   [<JavaScript; Sealed; Name "WebSharper.UI.Next.AnimatedAttrNode">]
   type AnimatedAttrNode<'T>(tr: Trans<'T>, view: View<'T>, push: Element -> 'T -> unit) =
  
positive.code:         member a.GetExitAnim parent = Anim.Empty
          member a.Sync parent = if dirty then push parent value; dirty <- false
          member a.Changed = updates
          member a.Init parent = init parent
  
  type AttrTree =
      | A0
  
negative.code:             (DynamicCustom (fun el x -> el?(id) <- x) v)
  
      let DynamicClass name view ok =
          As<Attr> (Attrs.Dynamic view (fun el v ->
              if ok v then DU.AddClass el name else DU.RemoveClass el name))
  
      let DynamicPred name predView valView =
  