úÎ9X5›     None &2346=HM[Applicative traversal over (a subset of) immediate subterms. This is a generic version of traverse from Data.Traversable.DThe supplied function is applied only to the «interesting» subterms. Other subterms are lifted using 0, and the whole structure is folded back using . has a default implementation  const pureT, which works for types without interesting subterms (in particular, atomic types).None,Return a lambda expression which implements  for the given data type.Example usage: 1data MyType = MyType deriveGTraversable ''MyTypeÝIt tries to create the necessary instance constraints, but is not very smart about it For tricky types, it may fail or produce an overconstrained instance. In that case, write the instance declaration yourself and use  to derive the implementation: fdata MyType a = MyType instance GTraversable (MyType a) where gtraverse = $(gtraverseExpr ''MyType) !"# !"#None&246 $%&'()*+,-. $%&'()*+,-.None &2346=HM  enables "deep traversals".‹It is satisfied automatically when its superclass constraints are satisfied  you are not supposed to declare new instances of this class.'Generic map over the immediate subterms/Generic monadic map over the immediate subterms7Generic monoidal fold over the immediate subterms (cf. / from  Data.Foldable).Generic right fold over the immediate subterms 4Generic strict left fold over the immediate subterms 5Apply a transformation everywhere in bottom-up manner 4Apply a transformation everywhere in top-down manner Monadic variation on everywhere ,Strict left fold over all elements, top-down 01 2    01 2None!"&2346=HM3A movement operation such as , , , or .,A generic zipper with a root object of type root.8Move up a zipper to the root and return the root object.=Create a zipper. The focus starts at the root of the object.Move left. Returns 4! iff already at leftmost sibling.Move right. Returns 4" iff already at rightmost sibling.9Move down. Moves to rightmost immediate child. Returns 4* iff at a leaf and thus no children exist.:Move down. Move to the leftmost immediate child. Returns 4* iff at a leaf and thus no children exist.Move up. Returns 4/ iff already at root and thus no parent exists."Apply a generic query to the hole.+Apply a generic transformation to the hole.2Apply a generic monadic transformation to the hole$Get the value in the hole. Returns 4 iff a* is not the type of the value in the hole.-Set the value in the hole. Does nothing iff a* is not the type of the value in the hole.$Set the value in the hole. Returns 4 iff a* is not the type of the value in the hole.5=Apply a generic query using the specified movement operation.68Apply a generic query to the left sibling if one exists.79Apply a generic query to the right sibling if one exists.Move to the leftmost sibling.Move to the rightmost sibling.%389:;<=>?@ABCDEF5Move operationDefault if can't moveQuery if can moveZipper6*Value to return of no left sibling exists.7+Value to return if no right sibling exists.GH38:9;=<>@?ABCDEF567GHI      !"#$%&$%'()*+,-./0123456$7899:;$<=>?@ABCDEFGHIJKLMNOPQtraverse-with-class-0.2Data.Generics.TraversableData.Generics.Traversable.TH Data.Generics.Traversable.ZipperData.Generics.Traversable.Core#Data.Generics.Traversable.Instances GTraversable gtraverse gtraverseExprderiveGTraversableRecgmapgmapMgfoldMapgfoldrgfoldl' everywhere everywhere' everywhereM everythingZipper fromZippertoZipperleftrightdowndown'upquerytranstransMgetHolesetHolesetHole'leftmost rightmostbaseControl.Applicativepure<*>err getDataInfoconAvarName$fGTraversablec[]$fGTraversablec_0Maybe$fGTraversablecOrdering$fGTraversablecChar$fGTraversablecRatio$fGTraversablecDouble$fGTraversablecFloat$fGTraversablecInteger$fGTraversablecInt$fGTraversablecBool$fGTraversablec() Data.FoldablefoldMapProxy$fReccaMove Data.MaybeNothingmoveQleftQrightQRight RightCons RightNullLeftLeftConsLeftUnitContextCtxtConsCtxtNullcombineunittoLeftfromLeft fromRight$fApplicativeLeft $fFunctorLeft