#include #include auto compose(auto f, auto g) { return [=](auto x) { return f(g(x)); }; } int main() { std::cout << compose(sin, asin)(0.5) << "\n"; }