{
    Let is_letter c.
        Or (is_lower c) (is_upper c)

    Let is_digit c.
        And ('0' <= c) (c <= '9')

    Let is_upper. is_upper

    Let is_lower. is_lower
}

Where

Let is_upper c.
    And ('A' <= c) (c <= 'Z')

Let is_lower c.
    And ('a' <= c) (c <= 'z')