anchor.diff:      //
       member __.FoldBack (folder : int -> 'T -> 'State -> 'State, state : 'State) : 'State =
           trie.FoldBack (folder, state)
  +
  +
  +
   
   //
   and [<Sealed>]
  
positive.code:                 | Lf (_,_) ->
                      count <- count + 1u
                      
                  (* OPTIMIZATION :   When one or both children of this node are leaves, we handle
                                      them directly since it's a little faster. *)
                  | Br (_, _, Lf (_,_), Lf (_,_)) ->
                      count <- count + 2u
                      
  
negative.code:                 | Lf (k, x) ->
                      state <- folder.Invoke (int k, x, state)
                      
                  (* OPTIMIZATION :   When one or both children of this node are leaves,
                                      we handle them directly since it's a little faster. *)
                  | Br (_, _, Lf (k, x), Lf (j, y)) ->
                      state <- folder.Invoke (int j, y, state)
                      state <- folder.Invoke (int k, x, state)
                      
                  | Br (_, _, left, Lf (k, x)) ->
                      // Only handle the case where the right child is a leaf
                      // -- otherwise the traversal order would be altered.
                      state <- folder.Invoke (int k, x, state)
                      stack.Push left
  
  