#define htable_gen(name, type) \
struct name { \
	type **arr; \
	unsigned siz; \
	unsigned used; \
}; \
void ht_##name_init(struct name *ht, unsigned siz) { \
	ht->siz = 1U << siz; \
	ht->arr = s_calloc(ht->siz, sizeof(type *)); \
	ht->used = 0; \
}