     "grid_executor should have multi-agent then_execute() returning void"
   );
 
+  static_assert(
+    agency::detail::new_executor_traits_detail::has_multi_agent_then_execute_with_shared_inits_returning_user_specified_container<container<int>, executor_type, functor_returning_int, int_future_type, int, int>::value,
+    "grid_executor should have multi-agent then_execute() with shared inits returning user-specified container"
+  );
+
   std::cout << "OK" << std::endl;
 
   return 0;

  __host__ __device__
  void operator()() const {}
};

int main()
{

#include <agency/cuda/grid_executor.hpp>
#include <agency/executor_traits.hpp>
#include <iostream>

struct functor_returning_int
{
  template<class... Args>
  __host__ __device__
  int operator()(Args&&...) const
  {
    return 0;
  }
};

struct functor_returning_void
{
