is_between
if (is_between(c, ' ', '~'))
#define is_lower(c) is_between((c), 'a', 'z')
#define is_upper(c) is_between((c), 'A', 'Z')
#define is_digit(c) is_between((c), '0', '9')
(is_digit(c) || is_between((c), 'A', 'F') || is_between((c), 'a', 'f'))