Currently, if a MongoCursor uses its own Connection (i.e. not one from a ClientSession) the MongoCursor will return the Connection to the pool in deinit.
However, this could lead to situations where a user has a number of exhausted cursors lying around and exhausts the connection pool.
One change that will be needed to support this is storing the result of mongoc_cursor_error_document. Otherwise a user will not be able to check for an error after the cursor is exhausted (which they are supposed to do once next() returns nil, as next() can't throw.)