Isn't this basically the same as passing the function to std::bind_front and storing it in a std::function or std::function_ref?