     } else {
       (children, endHere) = ([:], true)
     }
-  }
-
-  private mutating func insert<
-    G : GeneratorType where G.Element == Element
-    >(var gen: G) {
-      if let head = gen.next() {
-        children[head]?.insert(gen) ?? {children[head] = Trie(gen: gen)}()
-      } else {
-        endHere = true
-      }
   }
 
   /// Construct from an arbitrary sequence of sequences with elements of type `Element`.

  }
  private init(_ from: Trie<Letter>) { children = from.children.generate() }
}
private enum RemoveState {
  case NotPresent, NotRemovable, Removable
}
/// :nodoc:
public func ==<T>(lhs: Trie<T>, rhs: Trie<T>) -> Bool {
  return lhs.endHere == rhs.endHere && lhs.children == rhs.children
}
    (_ seq: S) {
      self.init(gen: seq.generate())
  }
}

// MARK: SequenceType

extension Trie : SequenceType {
  
  /// Return a *generator* over the members.
  public func generate() -> TrieGenerator<Element>  {
    return TrieGenerator(self)
  }
}

