Used std::result_of to simplify kwds