There is no way to get pipeline exactly as it comes from the user which sometimes causes troubles like e.g. in SERVER-78914. It would be better if some trivial rewrites that precede `::optimize()` call would be done not in `::create()` but in a separate method to avoid confusion and unnecessary restrictions like "no random internal field names".
- related to
-
SERVER-78914 multi-deletes might return incorrect 'n' deleted count when there is an error
- Investigating