ネタ切れみたいなのでお題を提供します。

リスト内の任意のシンボルに対して、unquote付加を自動的に行いたい
という要件が発生しました。
以下の様なただのリストの入力に対し、指定したシンボル全てにunquoteを付加し、
擬似リストとして返す関数quotifyを実装してください。
ただし、リスト内のlambda文の変数スコープ規則を解釈する事。

書式: (quotify <unquoteしたいシンボルを列挙したリスト> <入力リスト>)

呼び出し例:
(quotify '(proc list)
 '((lambda (f r rr list)
  (while (pair? list)
   (set! rr (cons (proc (car list)) '()))
   (if (pair? f) (set! r (set-cdr! r rr)) (set! r (set! f rr)))
   (set! list (cdr list)))
  f) '() '() '() list)))

期待する出力結果:
`((lambda (f r rr list)
 (while (pair? list)
  (set! rr (cons (,proc (car list)) '()))
  (if (pair? f) (set! r (set-cdr! r rr)) (set! r (set! f rr)))
  (set! list (cdr list)))
 f) '() '() '() ,list)

つまり、この出力をそのまま実行するとunquote部分がカレント環境で変換されます。
上の例の変数listの様にきちんとlambdaの中と外を区別する必要があります。
ただの変換なら簡単ですが、lambdaの解釈で多少複雑になると思います。