Benchmark: timing 100000 iterations of join, loop, quote... join: 3 wallclock secs ( 2.30 usr + 0.00 sys = 2.30 CPU) @ 43402.78/s (n=100000) loop: 17 wallclock secs (16.03 usr + 0.00 sys = 16.03 CPU) @ 6237.52/s (n=100000) quote: 5 wallclock secs ( 3.79 usr + 0.00 sys = 3.79 CPU) @ 26420.08/s (n=100000)