Rewrite List(a, b) to `new ::(a, new ::(b, Nil)`

Conservatively limits the extra stack frames consumed by the generated
program to 8.