named match-let instead of named let-values added by DerGuteMoritz on Wed Apr 9 16:45:37 2014

(match-let loop
  (((a b c) (list 1 2 3))
   ((d e f) (list 4 5 6)))
  (if (= f 6)
      (loop (list 2 3 4)
            (list 5 6 7))
      f))