for-eachでtraceって

定義した手続きに対して一つ一つ

(trace a)
(trace b)
(trace c)

と書くのが面倒になってきました。

なので以下のように書いてみたのですが

(define (a hoge)
  hoge)

(define (b hoge)
  hoge)

(use slib)
(require 'trace)
(for-each trace (list a b))
gosh> *** ERROR: invalid application: (#<macro trace> #<closure a>)
Stack Trace:

Gaucheさんに怒られちゃいました。
なぜだろう・・・。


意図としてはlistの各々の要素に trace を適用しようというものです。
for-eachの使い方はGauche ユーザリファレンス: 6.15 制御を参照しました。