Invertible quotations

The inverse vocab defines a way to 'undo' quotations, and builds a pattern matching framework on that basis. A quotation can be inverted by reversing it and inverting each word. To define the inverse for particular word, use
define-inverse ( word quot -- )

define-pop-inverse ( word n quot -- )

To build an inverse quotation
[undo] ( quot -- undo )

To use the inverse quotation for pattern matching
undo ( quot -- quot )

matches? ( quot -- quot' )

switch ( quot-alist -- quot )