when_all uses rvalue ref