shuffle added by mario-goulart on Mon Jun 9 15:17:50 2014
(define shuffle
(lambda (l random)
(let ((len (length l)))
(map cdr
(sort! (map (lambda (x) (cons (random len) x)) l)
(lambda (x y) (< (car x) (car y)))) ) ) ) )