Consider the following case:
void Set(const std::function &fn); void Set(const std::function &fn);
You can manually specify the type:
Set(std::function([](int a) { //... }));