Unfortunately, it is impossible to use async to call a member method of an instance object of a template class. This is riddling me, because you can call a template function if specifying an "instance" of that function using decltype.
You also can call a member method of an instance of a non-template class.
But trying the same thing with an instance of a template class does not work with async, mainly because the error produced by the compiler originally seems to come from std::tuple instead from std::async.
So in my opinion, the culprit is tuple.