Computation by ÒRewritingÓ
lhalve_all([2, 4, 6]) ==>
l[1 | halve_all([4, 6])] ==>
l[1 | [2 | halve_all([6])] ] ==>
l[1 | [2 | [3 | halve_all([ ])] ] ] ==>
l[1 | [2 | [3 | [ ] ] ] ] ==
l[1 | [2 | [3] ] ] ==
l[1 | [2, 3] ] ==
l[1, 2, 3]