TypeError: find methods returning unexpected types

I have type User which I use to have a collection, my collection is therefor of type collection<User>.
When I call the method find such as doing collection.find({ _id: '...' }) TypeScript says it returns the type Promise<{ _id: ObjectId }> which is not what I expect as my collection was originally templated for User.

The issue goes away if I template the find method with the type User ; But is that correct ? Do we have now to type every call despite our collections being already typed ? The issue only happens with the types provided by the package in 4.x, no issue with the community package.