Example finger trees

SymbolType and constructors
     
data FingerTree a = Empty
                  | Single a
                  | Deep (Digit a) (FingerTree (Node a)) (Digit a)
(none)
data Digit a      = One a | Two a a | Three a a a | Four a a a a
     
data Node a       = Node2 a a | Node3 a a a
      elements of arbitrary type