anchor.diff:      let BuildMethod<'T> (holeName: HoleName) (resTy: Type)
               (wrapArg: Expr<'T> -> Expr<TemplateHole>) (ctx: Ctx) =
           ctx.PT.ProvidedMethod(holeName, [ProvidedParameter(holeName, typeof<'T>)], resTy, function
  -            | [this; arg] -> <@@ (%wrapArg (Expr.Cast arg)) :: %%this @@>
  +            | [this; arg] -> <@@ box ((%wrapArg (Expr.Cast arg)) :: ((%%this : obj) :?> list<TemplateHole>)) @@>
               | _ -> failwith "Incorrect invoke")
   
       let BuildHoleMethods (holeName: HoleName) (holeKind: HoleKind) (resTy: Type) (ctx: Ctx)
  
positive.code:                 yield! BuildHoleMethods holeName holeKind ty ctx
              yield! BuildFinalMethods ctx
              yield ctx.PT.ProvidedConstructor([], fun _ ->
                  <@@ [] : list<TemplateHole> @@>) :> _
          ]
  
      let BuildTP (templates: IDictionary<option<TemplateName>, Template>)
  
negative.code:                     let template = Parsing.Parse pathOrHtml cfg.ResolutionFolder Parsing.ExtractSubTemplatesFromRoot
                      setupWatcher template.ParseKind
                      let ty =
                          ctx.ProvidedTypeDefinition(thisAssembly, rootNamespace, typename, None)
                              .WithXmlDoc(XmlDoc.TemplateType "")
                      try OldProvider.RunOldProvider pathOrHtml cfg ctx ty
                      with _ -> reraise()
  