This is the pattern matching system by Andrew Wright and Bruce Duba. See Pattern Matching for Scheme for details. The following syntactic forms are defined by the match.ss library:
All forms of match can be used with define-struct values, as well as define-structure and define-const-structure values (see section 15.2.8).
The default match:error procedure raises the exn:misc:match exception, which extends exn:misc with value field (for the non-matching value).