window.fold = function(list, zero, op) { var r = zero; for (var i = 0; i < list.length; i++) { r = op(r, list[i]) } return r; }; window.flatten = function(listOfLists) { return fold(listOfLists, [], function(s1, s2) { return s1.concat(s2)}) };