The problem is that C++ compilers still haven’t fixed a trivial several-decades-old limitation: you still have to pass the named arguments in order.
They use the excuse of “what’s the evaluation order”, but ordinary constructors have the exact same problem and they deal with that fine.
ReplaceFile
exists to get everyone else’s semantics though?