__DO_ALLOCATOR
__DO_ALLOCATOR(void, 0, 1, "bytes", bytes);
__DO_ALLOCATOR(t, sizeof(t), __alignof__(t), n, x)
__DO_ALLOCATOR(struct data_range, sizeof(struct data_range), __alignof__(struct data_range),
__DO_ALLOCATOR(char, 1, 4, "state names", sname);