Zipper

A zipper is a data structure that aggregates multiple data structures. It's often used where there is some concept of "focus" or "cursor". It's present in multiple functional languages such as OCaml.

➑️ This is something that may be used in documents (ex: Word). Your cursor is always between two lists of characters (left and right).