Hmm... maybe, but then the signature of this function is quite locked down. For example thanks to your good suggestion of not limiting ourselves to univariate functions, there is now an extra trailing optional kwarg in the signature. That would've broken old code if we had a trailing *args..