This is a substitute for std::apply, which we can't use until we move to c++17. apply_tuple will be used in upcoming the upcoming wrapper-function utils code.