#define listtype(BASE) \ \ typedef struct list_ ## BASE \ { \ BASE value; \ struct list *next; \ } list; \