upperConsonants :: FromAscii a => (a -> t -> t) -> t -> t
upperConsonants = construct
    [ 66, 67, 68        -- 'B', 'C', 'D'
    , 70, 71, 72        -- 'F', 'G', 'H'
    , 74, 75, 76        -- 'J', 'K', 'L'
    , 77, 78, 80        -- 'M', 'N', 'P'
    , 81, 82, 83        -- 'Q', 'R', 'S'
    , 84, 85, 87        -- 'T', 'V', 'W'
    , 90                -- 'Z'
    ]
upperConsonants :: FromAscii a => (a -> t -> t) -> t -> t
upperConsonants = construct
    [ 66, 67, 68        -- 'B', 'C', 'D'
    , 70, 71, 72        -- 'F', 'G', 'H'
    , 74, 75, 76        -- 'J', 'K', 'L'
    , 77, 78, 80        -- 'M', 'N', 'P'
    , 81, 82, 83        -- 'Q', 'R', 'S'
    , 84, 85, 87        -- 'T', 'V', 'W'
    , 90                -- 'Z'
    ]
upperConsonants = construct
    [ 66, 67, 68        -- 'B', 'C', 'D'
    , 70, 71, 72        -- 'F', 'G', 'H'
    , 74, 75, 76        -- 'J', 'K', 'L'
    , 77, 78, 80        -- 'M', 'N', 'P'
    , 81, 82, 83        -- 'Q', 'R', 'S'
    , 84, 85, 87        -- 'T', 'V', 'W'
    , 90                -- 'Z'
    ]