I use the Data.Map now, this makes it way more flexibler
data WordTree
= Branch [(Char, WordTree)]
| Tip
I only don't use this type of Tree. I am not sure how it works, but it looks good, so I will experiment with it. Is it a so called rose tree? (Then I can find some articles about it).
Share the subtree,
Just a -> let st = buildTree cs r
in Choice (a,st) (c,st)