Safe Haskell  SafeInferred 

Language  Haskell2010 
 data Rooted t a = Rooted {
 root :: Maybe a
 children :: [PseudoTrie t a]
 newtype MergeRooted t a = MergeRooted {
 unMergeRooted :: Rooted t a
 assign :: Eq t => [t] > Maybe a > Rooted t a > Rooted t a
 lookup :: Eq t => [t] > Rooted t a > Maybe a
 lookupNearestParent :: Eq t => [t] > Rooted t a > Maybe a
 merge :: Eq t => Rooted t a > Rooted t a > Rooted t a
 push :: Rooted t a > NonEmpty t > PseudoTrie t a
 unionWith :: Eq t => (a > a > a) > Rooted t a > Rooted t a > Rooted t a
Documentation
Rooted  

newtype MergeRooted t a Source
MergeRooted  

Functor (MergeRooted t)  
Eq t => Monoid (MergeRooted t a) 
assign :: Eq t => [t] > Maybe a > Rooted t a > Rooted t a Source
Strictly constructive form of Data.Trie.Pseudo.assign
lookupNearestParent :: Eq t => [t] > Rooted t a > Maybe a Source
push :: Rooted t a > NonEmpty t > PseudoTrie t a Source
Prepend root with a tag