The pattern matcher includes a pattern compiler, which pre-processes patterns to generate efficient code that performs two tasks: to validate the input, and to bind pattern variables against the corresponding components of the input.
The pattern matcher introduces four new types: the keyword list, kwd-list; the (raw) pattern, pat; the compiled pattern, cpat; and the pattern environment, penv. For now, kwd-list is just a synonym for the type list(scheme-symbol).