BOSとかいうシングルディスパッチャなOOパッケージを
マルチに改造して使ってます。結局CLOS風ということだけど。
obj.x => (slot-ref obj 'x)
obj.x := ... => (slot-set! obj 'x ...)
obj.m(x) => (m obj x)
obj.m(x).n() => (n (m obj x))
左みたいな構文糖衣のトランスレーター作りたくなる。