def u: ['a', 'b']; def v: ['A', 'B', 'C']; def w: [1]; templates transpose2 @: []; $... -> \[i]( when )> do ..|@transpose2($i): $; otherwise ..|@transpose2: [$];\) -> !VOID $@ ! end transpose2 [$x, $y, $z] -> transpose2... -> '$...; ' -> !OUT::write ' ' -> !OUT::write [$u,$v,$w] -> transpose2... -> '$...; ' -> !OUT::write