Static analyser cppcheck says:
trunk/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:697:24: performance: Function parameter 'ArgTys' should be passed by const reference. [passedByValue]
Source code is
Signature(ArgTypes ArgTys, RetType RetTy) {
but
using ArgTypes = std::vector<std::optional>;
So it looks to me like an entire vector is put onto the stack.