anchor.diff:  ﻿namespace Samples.FSharp.ShareInfoProvider
   
  +open System
   open System.Reflection
   open Microsoft.FSharp.Core.CompilerServices
   open Samples.FSharp.ProvidedTypes
  
positive.code:         for e in textElems do
              e.ReplaceWith(XText(value))
  
  open Impl
  
  [<TypeProvider>]
  
negative.code:         let ctorParams = texts |> Seq.map (fun s -> ProvidedParameter(s, typeof<string>)) |> Seq.toList
          ty.AddMember(ProvidedConstructor(ctorParams, InvokeCode = ctorBody))
          let render (this: Expr) : XElement Expr =
              <@
                  let templateHtml: string = (%%Expr.FieldGet(this, templateField))
                  let template = loadXml templateHtml
                  let thisType = (%(Expr.ValueT (ty :> Type)))
                  let reflectedFields = thisType.GetFields(BindingFlags.Instance ||| BindingFlags.NonPublic) |> Array.toSeq
  //                for f in reflectedFields do
  //                    replaceText f.Name (unbox (f.GetValue((%%this:obj)))) template
                  template
              @>
          let methods = ProvidedMethod("Render", [], typeof<XElement>, InvokeCode = fun args -> render args.[0] :> _)
          ty.AddMember methods
          htmlTy.AddMember ty
  