__isl_give isl_##EL##_list *isl_##EL##_list_add( \
__isl_take isl_##EL##_list *list, \
__isl_take struct isl_##EL *el); \
+int isl_##EL##_list_n_##EL(__isl_keep isl_##EL##_list *list); \
int isl_##EL##_list_foreach(__isl_keep isl_##EL##_list *list, \
int (*fn)(__isl_take struct isl_##EL *el, void *user), void *user);