FREE
#define FREE(p) memput((p), sizeof *(p))
#define FREE(ptr, size) mem_free((char *)(ptr), (int) size)
#define FREE(addr, type, size) \
#define FREE(P) do { \
#undef FREE
typedef enum { MARK, UNMARK, NAME, COUNT, FREE } dowhat;
#define FREE(T, x, ...) free_param(#T, &error->params.x);
#undef FREE