-#define isALPHA_utf8(p) _generic_utf8(ALPHA, p)
-#define isALPHANUMERIC_utf8(p) _generic_utf8(ALPHANUMERIC, p)
-#define isASCII_utf8(p) _generic_utf8(ASCII, p)
-#define isBLANK_utf8(p) _generic_utf8(BLANK, p)
-#define isCNTRL_utf8(p) _generic_utf8(CNTRL, p)
-#define isDIGIT_utf8(p) _generic_utf8(DIGIT, p)
-#define isGRAPH_utf8(p) _generic_utf8(GRAPH, p)
-#define isIDCONT_utf8(p) _generic_utf8(IDCONT, p)
-#define isIDFIRST_utf8(p) _generic_utf8(IDFIRST, p)
-#define isLOWER_utf8(p) _generic_utf8(LOWER, p)
-#define isPRINT_utf8(p) _generic_utf8(PRINT, p)
-#define isPSXSPC_utf8(p) _generic_utf8(PSXSPC, p)
-#define isPUNCT_utf8(p) _generic_utf8(PUNCT, p)
-#define isSPACE_utf8(p) _generic_utf8(SPACE, p)
-#define isUPPER_utf8(p) _generic_utf8(UPPER, p)
-#define isVERTWS_utf8(p) _generic_utf8(VERTSPACE, p)
-#define isWORDCHAR_utf8(p) _generic_utf8(WORDCHAR, p)
-#define isXDIGIT_utf8(p) _generic_utf8(XDIGIT, p)
-
-#define isALPHA_utf8_safe(p, e) _generic_swash_utf8_safe(_CC_ALPHA, p, e)
+#define isALPHA_utf8(p, e) isALPHA_utf8_safe(p, e)
+#define isALPHANUMERIC_utf8(p, e) isALPHANUMERIC_utf8_safe(p, e)
+#define isASCII_utf8(p, e) isASCII_utf8_safe(p, e)
+#define isBLANK_utf8(p, e) isBLANK_utf8_safe(p, e)
+#define isCNTRL_utf8(p, e) isCNTRL_utf8_safe(p, e)
+#define isDIGIT_utf8(p, e) isDIGIT_utf8_safe(p, e)
+#define isGRAPH_utf8(p, e) isGRAPH_utf8_safe(p, e)
+#define isIDCONT_utf8(p, e) isIDCONT_utf8_safe(p, e)
+#define isIDFIRST_utf8(p, e) isIDFIRST_utf8_safe(p, e)
+#define isLOWER_utf8(p, e) isLOWER_utf8_safe(p, e)
+#define isPRINT_utf8(p, e) isPRINT_utf8_safe(p, e)
+#define isPSXSPC_utf8(p, e) isPSXSPC_utf8_safe(p, e)
+#define isPUNCT_utf8(p, e) isPUNCT_utf8_safe(p, e)
+#define isSPACE_utf8(p, e) isSPACE_utf8_safe(p, e)
+#define isUPPER_utf8(p, e) isUPPER_utf8_safe(p, e)
+#define isVERTWS_utf8(p, e) isVERTWS_utf8_safe(p, e)
+#define isWORDCHAR_utf8(p, e) isWORDCHAR_utf8_safe(p, e)
+#define isXDIGIT_utf8(p, e) isXDIGIT_utf8_safe(p, e)
+
+#define isALPHA_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_ALPHA, p, e)