 id = 0; id < LENGTH; id++)
  list[id] = {id, text: `R${Math.random()}`};

[
  create,
  changeStart,
  changeMiddle,
  changeEnd,
  reverse,
  addStart,
  addMiddle,
  addEnd,
  removeStart,
  removeMiddle,
  removeEnd,
  replaceOneToMany,
  replaceManyToOne,
  shuffle,
  shuffle,
  shuffle,
  done
].reduce(
  (p, fn) => p.then(() => new Promise($ => {
    setTimeout(fn, 500, $);
  })),
  Promise.resolve()
);

function create(next) {
  console.time('create');
  $(document.body, ul);
  console.timeEnd('crea