A deduction guide tells the compiler how constructor arguments determine a class template's parameters. For an Overload built from one lambda, Overload(T) deduces Overload<T>. section 9.3.5
Guiding an Overload
template<typename T> Overload(T) -> Overload<T>; This permits auto overload = Overload{ []() { return 0; } }; and lets overload() invoke the lambda. The same idea extends to a parameter pack of lambdas.
