Messing around with recursive functions in ES6.
Will die on big inputs until browsers implement ES6's proper tail calls.
Also messing around with lists a-la SICP.
Only uses ES6 features available by default in Firefox nightly. Might need to transpile in other places.