     swap HEX: 7f = or ;
 
 : punct? ( n -- ? )
-    "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" fast-member? ;
+    "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" member? ;
 
 : c-identifier-char? ( ch -- ? )
     dup alpha? swap CHAR: _ = or ;

        CHAR: \s
        CHAR: \t CHAR: \n CHAR: \r
        HEX: c HEX: 7 HEX: 1b
    } fast-member? ;

: java-printable? ( n -- ? )
    dup alpha? swap punct? or ;

: 'ordinary-char' ( -- parser )
    [ "\\^*+?|(){}[$" fast-member? not ] satisfy
    [ char=-quot ] <@ ;

: 'octal-digit' ( -- parser ) [ octal-digit? ] satisfy ;

: or-predicates ( quots -- quot )
    [ \ dup add* ] map [ [ t ] ] f short-circuit \ nip add ;

: <@literal [ nip ] curry <@ ;

: <@delay [ curry ] curry <@ ;
