There are a couple of MongoCollection methods that have different signatures between sync and async. In the sync API the helper methods for aggregate and mapReduce that don't take a resultClass return elements of type <TDocument>. In the async API (reactive and callback), they return elements of type Document.
Consider making a breaking change in 4.0 to resolve the discrepancy.