title: What is the difference between std::invoke and std::function?
body: <p>Why do we need <code>std::invoke</code>, when we already have <code>std::function</code>? What is the difference between them? Both used to call callable objects. What's the point to add new template?</p>