anchor.diff:  
   function TBsonIterator.GetAsUTF8String: UTF8String;
   begin
  -  Result := UTF8String(bson_iter_utf8(@FNativeIter, 0));
  +  Result := UTF8String(bson_iter_utf8(@FNativeIter, nil));
   end;
   
   function TBsonIterator.GetAsInteger: LongInt;
  
positive.code:   Result := TBson.Create(AData, len);
  end;
  
  function NewBson(const ANativeBson: bson_p; AOwnsNativeBson: Boolean): IBson;
  begin
    Result := TBson.Create(ANativeBson, AOwnsNativeBson);
  end;
  
negative.code:     FNativeBson: bson_p;
      FOwnsNativeBson: Boolean;
    public
      constructor Create(ANativeBson: bson_p; AOwnsNativeBson: Boolean); overload;
      constructor Create(const AData: PByte; len: Cardinal); overload;
      constructor Create(json: UTF8String); overload;
      constructor Create(const b: IBson); overload;
  