void future and no parameters      execution_policy_type policy;      auto fut = agency::make_ready_future<int>(policy.executor(), 0);      auto f = agency::bulk_then(policy(00),       [](typename execution_policy_type::execution_agent_type& self, int& past_arg) -> agency::single_result<int>       {         if(self.index() == 0)         {           return past_arg;         }          return std::ignore;       },       fut     );      auto result = f.get();      assert(result == 0);   }    {     // bulk_then with void future and no parameters      execution_policy_type policy;      auto fut = agency::make_ready_future<void>(policy.executor());      auto f = agency::bulk_then(policy(00),       [](typename execution_policy_type::execution_agent_type& self) -> agency::single_result<int>       {         if(self.index() == 0)         {           return 