úÎ?/<ë%      !"#$JThe implementation of the pointed list structure which tracks the current # position in the list structure. Focus element accessor label.  Create a  with a single element. Possibly create a % # if the provided list has at least + one element; otherwise, return Nothing. The provided list'6s head will be the focus of the list, and the rest of ' list will follow on the right side. Possibly create a % # if the provided list has at least + one element; otherwise, return Nothing. The provided list'8s last element will be the focus of the list, following / the rest of the list in order, to the left. @Replace the focus of the list, retaining the prefix and suffix. 9Possibly move the focus to the next element in the list. 2Attempt to move the focus to the next element, or & if there are  no more elements. =Possibly move the focus to the previous element in the list. 6Attempt to move the focus to the previous element, or & if there are  no more elements.  An alias for . KInsert an element to the left of the focus, then move the focus to the new  element. HInsert an element to the right of the focus, then move the focus to the  new element.  An alias of . GPossibly delete the element at the focus, then move the element on the L left to the focus. If no element is on the left, focus on the element to F the right. If the deletion will cause the list to be empty, return  '. GPossibly delete the element at the focus, then move the element on the N right to the focus. If no element is on the right, focus on the element to E the left. If the deletion will cause the list to be empty, return  '. 2Delete all elements in the list except the focus. The length of the list. (Whether the focus is the first element. 'Whether the focus is the last element.  Create a  of variations of the provided , in 4 which each element is focused, with the provided  as the  focus of the sets.  Map over the s created via  , such that f is @ called with each element of the list focused in the provided  .. An example makes this easier to understand: 1 contextMap atStart (fromJust $ fromList [1..5])  Create a  a of (a, (), in which the boolean values J specify whether the current element has the focus. That is, all of the  booleans will be ), except the focused element. (Move the focus to the specified index. Move the focus by n6, relative to the current index. Negative values move H the focus backwards, positive values more forwards through the list. ;Move the focus to the specified element, if it is present. IPatch with much faster algorithm provided by Runar Bjarnason for version I 0.3.2. Improved again by Runar Bjarnason for version 0.3.3 to support . infinite lists on both sides of the focus. The index of the focus. !*+   GMove the focus to the next element in the list. If the last element is 1 currently focused, loop to the first element. LMove the focus to the previous element in the list. If the first element is 0 currently focused, loop to the last element. ! An alias of #. "GPossibly delete the element at the focus, then move the element on the L left to the focus. If no element is on the left, focus on the element to F the right. If the deletion will cause the list to be empty, return  Nothing. #GPossibly delete the element at the focus, then move the element on the N right to the focus. If no element is on the right, focus on the element to E the left. If the deletion will cause the list to be empty, return  Nothing. $Move   !"#$ !"#$ !"#$,       !"#!$%!"&'()'(*+,-pointedlist-0.4.0Data.List.PointedListData.List.PointedList.Circular PointedListreversedPrefix_focussuffixfocus singletonfromList fromListEndreplacenexttryNextprevious tryPreviousinsert insertLeft insertRightdelete deleteLeft deleteRight deleteOtherslengthatStartatEnd positions contextMap withFocusmoveTomoveNfindindexbase Data.MaybeJustGHC.ErrerrorNothingghc-primGHC.BoolBoolFalselReversedPrefixlSuffix