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

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