Yes, and so it can hardly be considered 100% compatible; it's afaics only in the cases where the arguments are passed straightly on to some internal `[] that it works without any change.
The main benefit of your alternative is afaics that the ugly separate flag arguments are avoided; the flags are there nevertheless and needs to be handled. The price is more object cloning. I'm not so sure that won't have a noticeable impact.