V2 MarshalBSONValue no longer functioning

@Mike_71464 I’m glad you were able to fix the issue and sorry about the confusion!

The change in v2 is to allow 3rd-party libraries to implement bson.ValueMarshaler and bson.ValueUnmarshaler without having to depend directly on the Go Driver module. For example, many types in Go libraries implement the json.Marshaler and json.Unmarshaler interfaces without having to import the "encoding/json" package because the function signatures only require built-in Go types.

However, I agree that the inconsistency between the bson.MarshalValue and MarshalBSONValue function signatures is confusing. We’re planning to resolve that inconsistency in Go Driver v3 (see GODRIVER-3642).