If you check out a client from a pool, set any options on it (read pref, write concern, SSL), then check it back in, the pool now contains a mix of clients with different configurations.
Setting options on pooled clients is deprecated
Deprecate non-const methods on mongocxx::client
reset client options when returned to the pool
Pooled clients should clear state when pushed back onto the pool