function arraySlice(array, start, opt_end) {
  // Use
  //   return Function.prototype.call.apply(Array.prototype.slice, arguments);
  // instead of the simpler
  //   return Array.prototype.slice.call(array, start, opt_end);
  // here because of a bug in the FF and IE implementations of
  // Array.prototype.slice which causes this function to return an empty list
  // if opt_end is not provided.
  return Function.prototype.call.apply(Array.prototype.slice, arguments);
}
Finds a slice of an array.

@param {Array} array  Array to be sliced.
@param {number} start  The start of the slice.
@param {number} opt_end  The end of the slice (optional).
@return {Array} array  The slice of the array from start to end.