úÎ!("      !#(c) 2008--2009 Universiteit UtrechtBSD3generics@haskell.org experimental non-portableSafe&'=>?@AGHSUVXtzipperoIt is in general not necessary to use the generic navigation functions directly. The functions listed in the ` Interface'' section below are more user-friendly.zipperWAbstract type of context frames. Not required for the high-level navigation functions.zipper¶Abstract type of locations. A location contains the current focus and its context. A location is parameterized over the family of datatypes and over the type of the complete value. zippermStart navigating a datastructure. Returns a location that focuses the entire value and has an empty context. zipper)Move down to the leftmost child. Returns "! if the current focus is a leaf. zipper*Move down to the rightmost child. Returns "! if the current focus is a leaf. zipperMove up to the parent. Returns "# if the current focus is the root. zipper#Move to the right sibling. Returns "0 if the current focus is the rightmost sibling.zipper"Move to the left sibling. Returns "/ if the current focus is the leftmost sibling.zipper>Move through all positions in depth-first left-to-right order.zipper>Move through all positions in depth-first right-to-left order.zipper:Return the entire value, independent of the current focus.zipper_Operate on the current focus. This function can be used to extract the current point of focus.zipper3Update the current focus without changing its type.zipper0Update the current focus, embedded in a functor.zipperMost general eliminator. Both  and  can be defined in terms of .  #      !"#$%&'#zipper-0.4.3-KZtVeJLoEax6HxT1N7gwufGenerics.MultiRec.ZipperZippercmapAfillfirstlastnextprevCtxLocenterdowndown'uprightleftdfnextdfprevleaveonupdateupdateF foldZipper $fZipperphiC$fZipperphi:>:$fZipperphi:.:$fZipperphi:.:0$fZipperphi:*:$fZipperphi:+: $fZipperphiU $fZipperphiK $fZipperphiI$fHFunctorphiCtxs$fHFunctorphiCtx$fHFunctorphiLocbase GHC.MaybeNothing