Rose trees with cached and accumulating monoidal annotations
https://hackage.haskell.org/package/dual-tree