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