find-map added by DerGuteMoritz on Mon Sep 12 16:01:07 2011
(define (find-map proc lst . lists) (let loop ((lists (cons lst lists))) (and (not (any null? lists)) (or (apply proc (map car lists)) (loop (map cdr lists)))))) #;52> (find-map (lambda (x) (alist-ref 'bar x)) '(((foo . 1)) ((bar . 2)))) 2 #;53> (find-map (lambda (x) (x)) (list (constantly #f) (constantly #f) (constantly 'hey))) hey