úÎxR     +(c) Pedro Rodriguez Tavarez <pedro@pjrt.co>BSD3-style (see LICENSE)'Pedro Rodriguez Tavarez <pedro@pjrt.co>unstable unportableSafe!A Left-child-right-sibling tree. Bhttps://en.wikipedia.org/wiki/Left-child_right-sibling_binary_treeIReturn the depth of the tree. This means the depth of the longest branch Convert a  into a  Convert a  into a !This function fails if a non-top & is passed. A non-top node is a node  Node n c s where  s /= Empty.Functor instance  +(c) Pedro Rodriguez Tavarez <pedro@pjrt.co>BSD3-style (see LICENSE)'Pedro Rodriguez Tavarez <pedro@pjrt.co>unstable unportableSafe A path tree is simply a  Insert a value a into the path [n] into a tree. Like  , but will use fG to decide what to do if an existing value already exists at the path.Like  ¦, but replaces the value at the path. May seem odd to replace a value that is equal to itself, but this can be used with partially-equal types for some flexibility.+Given a single path, create a tree from it.Like , but for multiple paths.Like  but applies f if a give path already exists.Like E but if two equal paths are passed, the former one will be replaced.4Returns all paths from the root node(s). Note that toPaths . fromPathsG may NOT return the same tree back due to some reordering of siblings.}Given a path, determine if it exists fully. For a path to "exists fully" means that it ends on a level that contains a leaf.          'PathTree-0.1.1.0-FmaWxTo9EVNKnJRN73u7Lk Data.LCRSTree Data.PathTreeLCRSTreeEmptyLeafNode lcrsDepth fromRoseTree toRoseTree$fFoldableLCRSTree$fFunctorLCRSTree$fShowLCRSTree $fEqLCRSTreePathTreeinsert insertWith insertReplacefromPath fromPaths fromPathsWithfromPathsReplacetoPaths pathExistscontainers-0.5.7.1 Data.TreeTree