__must_be_array
size_t __elem_len = sizeof((msg)[0]) + __must_be_array(msg); \
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
(count) * sizeof(*(p)->member) + __must_be_array((p)->member), \
size_mul(count, sizeof(*(p)->member) + __must_be_array((p)->member)))
__must_be_array((name)->array))
sized_strscpy(dst, src, sizeof(dst) + __must_be_array(dst) + \
sized_strscpy_pad(dst, src, sizeof(dst) + __must_be_array(dst) + \
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
sizeof(*(p)->member) + __must_be_array((p)->member),\
#define ZERO_ARRAY(arr) (memset(arr, 0, sizeof(arr)) + __must_be_array(arr))