たぶんカリー化ってこんな感じのような気がする。

gosh> (define (curry p . args) (lambda r (apply p (append args r))))
curry
gosh> (define hogecons (curry cons 'hoge))                          
hogecons
gosh> (hogecons 'moge)                                              
(hoge . moge)
gosh> (hogecons 'piyo)
(hoge . piyo)

もちろんちゃんと考えてる方々がいた。

http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3A%E6%89%8B%E7%B6%9A%E3%81%8D%E3%81%AEcu
ほう。

妥協案としてこんなのはどうか。

(define (curry fn . args)
(lambda more-args (apply fn (append args more-args))))

として上のと同じ書き方も提案されてた。
ほんで、もう SRFI-26 の相当する機能が規定されて、Gauche でも使えた。

gosh> (define hogecons (cut cons 'hoge <>))
hogecons
gosh> (hogecons 'moge)
(hoge . moge)
gosh> (define hogecons (pa$ cons 'hoge))
hogecons
gosh> (hogecons 'moge)
(hoge . moge)

test