(define (printn x) (%%cexp ('a -> undefined) "dump_object (%0, 0); fprintf (stdout, \"\\n\")" x)) (define (+ a b) (%%cexp (int int -> int) "%0+%1" a b)) (define (other-thing x y z) (+ x (+ y z))) (define (thing a) (other-thing a.x a.y a.z)) (printn (thing {a=9 x=8 y=7 z=6})) (printn (thing {x=3 y=4 z=5}))