
  (case* x
    ((() (#&lt;&gt;))
     #t)
    (((#&lt;start:&gt; #&lt;middle:...&gt; #&lt;start&gt;))
     (palindrome? #&lt;middle&gt;))
    (else #f)))
</pre>

<p>case*'s matching function can be used anywhere.
</p>

<pre class="indented">
(let ((match? ((funclet 'case*) 'case*-match?))) ; this is case*'s matcher
  (match? x '(+ #&lt;symbol?&gt; 1)))                  ; returns #t if x is of the form '(+ x 1), x any symbol

(define match+
  (let ((match? ((funclet 'case*) 'case*-match?))
	(labels ((funcle