     >(sequence: S) {
       for toRemove in sequence { remove(toRemove) }
   }
-}
-
-extension Trie {
+
   public func intersect<
     S : SequenceType where
     S.Generator.Element : SequenceType,

      for element in sequence where contains(element) { ret.insert(element) }
      return ret
  }
}

extension Trie {
  public func isDisjointWith<
    S : SequenceType where
    S.Generator.Element : SequenceType,


// MARK: Methods

extension Trie {
  private func completions
    <G : GeneratorType where G.Element == Element>
