Racketを使って、SICP 2nd Editionを読んでいます。

2章で画像を扱うセクションがあります。「SICP Picture Language」というのを使って読んでいます:

https://docs.racket-lang.org/sicp-manual/SICP_Picture_Language.html


Exercise 2.49を読んでいて「painter」について疑問に思ったことがあります。

「A painter is represented as a procedure that, given a frame as argument, draws a particular image shifted and scaled to fit the frame.」

とSICP 2nd Editionに書かれています。

これを読むと、「painter」を使うときには、引数として「frame」を与えなければならないわけですが、「SICP Picture Language」では、pという「painter」を
描画するときに、

(paint p)

とするようです。つまり、pに「frame」を引数として渡せないようです。デフォルトで正規直交基底が「frame」として使われるようです。

「painter」に「frame」を渡して描画するにはどうすればいいのでしょうか?