type MTree t = Map t (MTree t)
data Tree t = Leaf | Node [(t, Tree t)]
Map t (Map t (Map t ...
newtype MTree t = MTree (Map t (MTree t))