object-applyというメソッドを定義すると、手続き以外の任意のデータ型をあたかも関数であるかのように呼び出すことができます。

;; (数 数)を(* 数 数)にする
(define-method object-apply ((x <number>) (y <number>))
  (* x y))

(define x 5)
(3 x) ; => 15

以前説明したパラメータも、値の取得にこのobject-applyを利用しています。