anchor.diff:                  [ for ctorArg in implictCtorArgs -> 
                         tb.DefineField(ctorArg.Name, convType ctorArg.ParameterType, FieldAttributes.Private) ]
               
  -            let uniqueLambdaTypeName = 
  -                let counter = ref 0
  -                fun () -> 
  -                    let n = !counter 
  -                    incr counter 
  -                    sprintf "Lambda%d" n
               let rec emitLambda(callSiteIlg : ILGenerator, v : Quotations.Var, body : Quotations.Expr, freeVars : seq<Quotations.Var>, locals : Dictionary<_, LocalBuilder>) =
                   let lambda = assemblyMainModule.DefineType(uniqueLambdaTypeName(), TypeAttributes.Class)
                   let baseType = typedefof<FSharpFunc<_, _>>.MakeGenericType(v.Type, body.Type)
  
positive.code: #endif
      let typeMap = Dictionary<ProvidedTypeDefinition,TypeBuilder>(HashIdentity.Reference)
      let typeMapExtra = Dictionary<string,TypeBuilder>(HashIdentity.Structural)
      member __.Assembly = assembly :> Assembly
      /// Emit the given provided type definitions into an assembly and adjust 'Assembly' property of all type definitions to return that
      /// assembly.
  
negative.code:                         emitExpr (ilg, locals, parameterVars) ExpectedStackState.Value argExpr
                      ilg.Emit(OpCodes.Call,cinfo)
  
                  if pcinfo.IsImplicitCtor then
                      for ctorArgsAsFieldIdx,ctorArgsAsField in List.mapi (fun i x -> (i,x)) implicitCtorArgsAsFields do 
                          ilg.Emit(OpCodes.Ldarg_0)
                          ilg.Emit(OpCodes.Ldarg, ctorArgsAsFieldIdx+1)
                          ilg.Emit(OpCodes.Stfld, ctorArgsAsField)
                  else
                      let code  = pcinfo.GetInvokeCodeInternal true
                      let code = code parameters
                      emitExpr (ilg, locals, parameterVars) ExpectedStackState.Empty code
                  ilg.Emit(OpCodes.Ret)
              
              match ptd.GetConstructors(ALL) |> Seq.tryPick (function :? ProvidedConstructor as pc when pc.IsTypeInitializer -> Some pc | _ -> None) with
  