Using boost:asio::experimental::make_parallel_group with Boost 1.90.0. I noticed an error message about a copy constructor not being available for a custom awaitable type that I was testing. The copy constructor would have been applied within the call to make_parallel_group(...).
I notice that there's a definition of make_parallel_group(Ops...) [src] in the sources. Could this perhaps be expressed alternately as make_parallel_group(Ops&&...)? If it was expressed like in the second case, perhaps the interior call to std::move might not create a copy then?