anchor.diff:                                      | null -> <@ Doc.Element n %attrs %nodes @>
                                       | a ->
                                           if n.ToLower() = "input" then
  -                                            let var = getStringVarVar a.Value
  -                                            <@ Doc.Input %attrs %var @>
  +                                            <@ Doc.Input %attrs %(getVar a.Value) @>
                                           elif n.ToLower() = "textarea" then
  -                                            let var = getStringVarVar a.Value
  -                                            <@ Doc.InputArea %attrs %var @>
  +                                            <@ Doc.InputArea %attrs %(getVar a.Value) @>
                                           else failwithf "data-var attribute \"%s\" on invalid element \"%s\"" a.Value n
   
  -                            | a -> getDocVar a.Value
  +                            | a -> getVar a.Value
                           
                           let mainExpr = t |> createNode true
   
  
positive.code: 
  type StringParts =
      | TextPart of string
      | TextHole of Expr<View<string>>
  
  [<TypeProvider>]
  type TemplateProvider(cfg: TypeProviderConfig) as this =
  
negative.code:                     let addTemplateMethod (t: XElement) (toTy: ProvidedTypeDefinition) =                        
                          let vars = ResizeArray()
  
                          let getVar name : Expr<'T> =
                              let v = Var(name, typeof<'T>)
                              vars.Add(v)
                              Expr.Var v |> Expr.Cast
  
  