it looks the interfaces for a couple of operations have some curious dependencies:
- BulkWrite depends on WriteModel, which presumably requires types to implement private methods (thereby ensuring that only types provided by the package can satisfy this interface,) but it's not clear from the docs which types these are or how to construct them, and it's weird from the perspective of the user.
- DeleteOneModel DeleteManyModel and others all depend on the x/driver package (they're simple type wrappers, over x/driver types,) which means you need to pick up a dependency on the x/driver package in order to use them, which makes the whole mongo interface feel unstable.
The fix for some of this might just be documentation changes.