I think there are some cases where we'd legitimately want to respect the discriminator values. If you're using single-collection inheritance and query one of the child classes using the `_id` of a different child, no document should be returned. As-is, it seems like we might hydrate a result from the collection into the wrong class. If single-collection inheritance is not used and each class has its own collection, there still could be an issue of conflicting IDs.

Also, if we're searching by `_id`, does the large `$in` query (how large, exactly?) significantly affect the query performance? At most one document would be fetched from the table, so even if there's no combined `_id` and `discriminator` index, we'd be looking at a small `nscanned` value.