It is worth pointing out that the current state of Guile is inconsistent regarding the return value of control structures: one primitive control structure builder is call/cc, and its normal use does not return *unspecified* but (values):
scheme@(guile-user)> (call-with-values (lambda () (call/cc (lambda (exit) (exit)))) list) $5 = () -- David Kastrup