undo(steps = 1) {
    if (!this.state.recording)
      throw new Error('Baobab.Cursor.undo: cursor is not recording.');

    const record = this.archive.back(steps);

    if (!record)
      throw Error('Baobab.Cursor.undo: cannot find a relevant record.');

    this.state.undoing = true;
    this.set(record);

    return this;
  }
Methods undoing n steps of the cursor's recorded states.

@param  {integer} [steps=1] - The number of steps to rollback.
@return {Cursor}            - The cursor instance for chaining purposes.