__must_be_array
#define __must_be_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_array(a), \
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))