Currently, the raw response from the server, which contains a cursor subdocument, is passed directly to the newCursor function. This means a new function has to be added to create a cursor for legacy servers because the relevant information (cursor ID, first batch, namespace) is returned in the OP_REPLY struct instead of a document.
Refactor cursor creation so the document parsing happens elsewhere and passes relevant information to newCursor.