úÎ  Â      non-portable experimentalgenerics@haskell.org non-portable experimentalgenerics@haskell.org=It is in general not necessary to use the generic navigation 1 functions directly. The functions listed in the ` Interface' section  below are more user-friendly. AAbstract type of context frames. Not required for the high-level  navigation functions. BAbstract type of locations. A location contains the current focus A and its context. A location is parameterized over the system of 4 datatypes and over the type of the complete value. :Start navigating a datastructure. Returns a location that 4 focuses the entire value and has an empty context. )Move down to the leftmost child. Returns  if the  current focus is a leaf. *Move down to the rightmost child. Returns  if the  current focus is a leaf. Move up to the parent. Returns  if the current  focus is the root. #Move to the right sibling. Returns  if the current ! focus is the rightmost sibling. "Move to the left sibling. Returns  if the current  focus is the leftmost sibling. ?Move through all positions in depth-first left-to-right order. ?Move through all positions in depth-first right-to-left order. ;Return the entire value, independent of the current focus. ;Operate on the current focus. This function can be used to % extract the current point of focus. 4Update the current focus without changing its type. Most general eliminator. Both  and  can be defined  in terms of .          zipper-0.1Generics.MultiRec.ZipperGenerics.MultiRec.Zipper.TEqbase Data.MaybeZippercmapfillfirstlastnextprevCtxLocenterdowndown'uprightleftdfnextdfprevleaveonupdate foldZipper:=:ReflcastNothing