Variation of a List that lets you move back and forwads switching focused item with O(n).

Scrolling List consists of focused element and context.

You can use ya-literal package to define it using literal notation:

[[1,2,3],[4],[5,6,7,8,9]] `yi` is @(Scrolling List Integer)

Alternatively you can transform a Nonempty List:

is @(Nonempty List _) `ho` to @(Scrolling List)

You can merge Scrolling List into List, Nonempty List:

[[1,2],[3],[4]] `lu` [5,6,7] `yi` Merge @(Sliding List) @List `ho` to @List
`q___` [1,2,3,4,5,6,7]