Tyhle čachry s iterátorama mi teda nepřijdou moc srozumitelný. Nepřijde mi kupříkladu příliš intuitivní, jakým způsobem se tady střídá řízení mezi těmi výběry. Musel jsem nad tím chvíli přemýšlet, abych to přečetl. Inu, Python. :-)
A co takhle pěkně čistě deklarativně, pánové? ;-)
(define (merge . lists)
(match lists
((xs ()) xs)
((() xs) xs)
(((x . xs) (y . ys)) (if (< x y)
(cons x (merge xs (cons y ys)))
(cons y (merge (cons x xs) ys))))))

