Revisit return type definitions for when_all/when_any/when_any_back
We don't need 'see below', the types can be defined directly in terms
of the InputIterator::value.