Здравствуйте, rg45, Вы писали:
R>А, мы уже от практических потребностей к этюдам перешли?
Ну да

У std::function есть конструктор, жрущий invokable. Типы аргументов оно само должно вывести при инстанциировании. Остается проверить тип, возвращаемый функцией. Я немного подредактировал предыдущий ответ пока ты отвечал.