anchor.diff:          GenerateConstructors : bool
       }
   
  -    static member Create(cultureStr, tpType, replacer, ?uniqueNiceName, ?typeCache) =
  +    static member Create(tpType, replacer, ?uniqueNiceName, ?typeCache) =
           let uniqueNiceName = defaultArg uniqueNiceName (NameUtils.uniqueGenerator NameUtils.nicePascalName)
           let typeCache = defaultArg typeCache (Dictionary())
  -        BsonGenerationContext.Create(cultureStr, tpType, replacer, uniqueNiceName, typeCache, true)
  -
  -    static member Create(cultureStr, tpType, replacer, uniqueNiceName, typeCache, generateConstructors) =
  +        BsonGenerationContext.Create(tpType, replacer, uniqueNiceName, typeCache, true)
  +
  +    static member Create(tpType, replacer, uniqueNiceName, typeCache, generateConstructors) =
           {
  -            CultureStr = cultureStr
               TypeProviderType = tpType
               Replacer = replacer
               UniqueNiceName = uniqueNiceName
  
positive.code: /// Context that is used to generate the BSON types.
  type BsonGenerationContext =
      {
          CultureStr : string
          TypeProviderType : ProvidedTypeDefinition
          Replacer : AssemblyReplacer
          // to nameclash type names
  
negative.code: 
      if ctx.GenerateConstructors then
  
          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>)))
  