Safe Haskell  None 

Language  Haskell2010 
 data Rooted t a = Rooted (Maybe a) [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
 merge :: Eq t => Rooted t a > Rooted t a > Rooted t a
 unionWith :: Eq t => (a > a > a) > Rooted t a > Rooted t a > Rooted t a
Documentation
Rooted (Maybe a) [PseudoTrie t a] 
newtype MergeRooted t a Source
MergeRooted  

Functor (MergeRooted t)  
Eq t => Monoid (MergeRooted t a) 