jumpToPast: jump to requested index in past history
function jumpToPast(history, index) {
    if (index < 0 || index >= history.past.length) return history;

    const { past, future, _latestUnfiltered } = history;

    const newPast = past.slice(0, index);
    const newFuture = [...past.slice(index + 1), _latestUnfiltered, ...future];
    const newPresent = past[index];

    return newHistory(newPast, newPresent, newFuture);
}