Hi Marc, Hi Gambit List, I ran into problems using lambda expressions as callbacks when wrapping libcsv and I've boiled it down to this testcase. Can anybody tell me why this crashes?: ------- (c-define (call-lambda l) (scheme-object) void "call_lambda" "" (l)) (define looper (c-lambda (scheme-object) void #<<c-lambda-end while(1){ call_lambda(___ARG1); } c-lambda-end )) (define (main) (looper (lambda () (write "foo")))) -------- looper is a c function which takes a scheme lambda and repeated invokes it using the 'call_lambda' bridging function. When I gsc compile it and run '(main)' after a bunch of looping and printing it crashes with: ERROR IN looper -- Operator is not a PROCEDURE ('#<return #2>) Any ideas? (or am I being stupid?!) Many thanks, Phil