A zipper-like comonad which works as a list, tracking a position
A PointedList tracks the position in a non-empty list which works similarly to
a zipper. A current item is always required, and therefore the list may never
be empty. A circular PointedList wraps around to the other end when progressing
past the actual edge.