anchor.diff:  
               ctx.TypeProviderType.AddMembers properties
   
  -            if ctx.GenerateConstructors then
  -                ctx.TypeProviderType.AddMember <| mkDefaultCtor ctx
  -
  -                match parameters with
  -                | [ prop ] when prop.ParameterType = ctx.BsonValueType -> ()
  -                | _ -> ctx.TypeProviderType.AddMember <| mkCtor parameters
  +            // Generate constructors
  +            ctx.TypeProviderType.AddMember <| mkDefaultCtor ctx
  +
  +            match parameters with
  +            | [ prop ] when prop.ParameterType = ctx.BsonValueType -> ()
  +            | _ -> ctx.TypeProviderType.AddMember <| mkCtor parameters
   
               ctx.TypeProviderType
   
  
positive.code:             // Generate new type for the record
              let ctx =
                  if not topLevel then
                      let name = defaultArg name "Record" |> ctx.UniqueNiceName
                      let objectTy = ProvidedTypeDefinition(name, Some ctx.IBsonTopType, HideObjectMethods = true)
                      ctx.TypeProviderType.AddMember(objectTy)
  
                      { ctx with TypeProviderType = objectTy
                                 UniqueNiceName = NameUtils.uniqueGenerator NameUtils.nicePascalName }
                  else ctx
  
              // to nameclash property names
  
negative.code: type BsonGenerationContext =
      {
          TypeProviderType : ProvidedTypeDefinition
          TypeCache : Dictionary<InferedType, ProvidedTypeDefinition>
          UniqueTypeName : string -> string
          BsonRuntimeType : Type
          BsonValueType : Type
          IBsonTopType : Type
      }
  
      static member Create(tpType) =
          { TypeProviderType = tpType
            TypeCache = Dictionary()
            UniqueTypeName = NameUtils.uniqueGenerator NameUtils.nicePascalName
            BsonRuntimeType = typeof<BsonRuntime>
            BsonValueType = typeof<BsonValue>
            IBsonTopType = typeof<IBsonTop> }
  
      member x.MakeOptionType(typ:Type) =
          typedefof<option<_>>.MakeGenericType typ
  