anchor.diff:              for param in parameters do
                   let ctor = ProvidedConstructor([param], InvokeCode = fun (Singleton arg) -> 
                       let arg = Expr.Coerce(arg, typeof<obj>)
  -                    ctx.Replacer.ToRuntime <@@ BsonRuntime.CreateValue((%%arg:obj), cultureStr) @@>)
  +                    ctx.Replacer.ToRuntime <@@ BsonRuntime.CreateValue(%%arg:obj) @@>)
                   objectTy.AddMember ctor
   
  -            let defaultCtor = ProvidedConstructor([], InvokeCode = fun _ -> ctx.Replacer.ToRuntime <@@ BsonRuntime.CreateValue(null :> obj, cultureStr) @@>)
  +            let defaultCtor = ProvidedConstructor([], InvokeCode = fun _ -> ctx.Replacer.ToRuntime <@@ BsonRuntime.CreateValue(null :> obj) @@>)
               objectTy.AddMember defaultCtor
   
           objectTy.AddMember <| 
  
positive.code: 
      if ctx.GenerateConstructors then
  
          let cultureStr = ctx.CultureStr
  
          if forCollection then
              let ctor = ProvidedConstructor(parameters, InvokeCode = fun args ->
                  let elements = Expr.NewArray(typeof<obj>, args |> List.map (fun a -> Expr.Coerce(a, typeof<obj>)))
  
negative.code: /// Context that is used to generate the BSON types.
  type BsonGenerationContext =
      {
          TypeProviderType : ProvidedTypeDefinition
          Replacer : AssemblyReplacer
          // to nameclash type names
  