#define DOWNCASE(x) ((isascii(x) && isupper(x)) ? tolower(x) : (x))
#define UPCASE(x)   ((isascii(x) && islower(x)) ? toupper(x) : (x))

/* #define free_object(thing) PUSH((thing), first_free) */