rem: result.push(pick.concat(x)); 
add: result.push(pick.concat(x)); 
context:   function combo(list, size) {    if (size == 0 || !list.length)                      // order doesn't matter      return [list.slice(0, 0)];                        // xyz == yzx    var result = [];    for (var i = 0, n = (list.length - size) + 1; i < n; i++) {      // iff enough left      var pick = list.slice(i, i+1);      var rest = list.slice(i+1);                       // drop [:i] part      for each (var x in combo(rest, size - 1))                 result.push(pick.concat(x));    }    return result;  }
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/0b675418ba636127763e94e614e62364d6caa659/regress-350531.js/clean/js/tests/js1_5/extensions/regress-350531.js