(It should really be a language feature actually, but...) ``` template<typename ... Ts> struct overload : Ts ... { using Ts::operator() ... ; }; ```