In cdt/libraries/meta_refl/include/bluegrass/meta/for_each.hpp investigate removing static assert on is_aggregate_initializable_n<type, result>::value, and removing #ifdef __cpp_lib_is_aggregate macro on the following code, making it active all the time.
static_assert(
std::is_aggregate<type>::value // Does not return `true` for build in types.
|| std::is_standard_layout<type>::value, // Does not return `true` for structs that have non standard layout members.
"Type must be aggregate initializable."
);