Right now, there is no way to inspect the properties of a WriteModel once constructed (e.g. UpdateOneModel, ReplaceOneModel, etc.). This is problematic for one of our use cases as we have both local collections represented as MongoCollection which DOES support bulk writes, and remote collections managed by Stitch that DO NOT support bulk writes. We'd like to use the same API to defer writes to these collections as we do in Java by using WriteModel implementations and simply unwrapping the filter/update for the non-bulk use case, but we cannot because the properties (filter, update, options) are not exposed.
Per discussion with Kaitlin Mahar, this ticket proposes making them public.