         }
         assert(k <= nl.key)
         assert(nl.predecessor() == nil || nl.predecessor()!.key < k)
-        return Index(node: nl, treeID: uuid)
+        return Index(node: nl)
     }
 
     /// Return the index of the first element *greater* than `k`, or `endIndex` if not found.

    public mutating func insert(k: Key) -> Index {
        ensureUnique()
        loopSentinel()

        uuid = _nextTreeID()

        let z = Node(key: k, sentinel: sentinel)
        do {

        return key == nil
    }

    /// Check whether the subtree (including `self`) includes `other`.
    /// - Complexity: O(log count)
    func contains(other: _RedBlackTreeNode) -> Bool {
        assert(!other.isSentinel)
        var x = other
        while !x.isSentinel && x != self { x = x.parent }
        return x == self
    }

    /// - Complexity: O(log count)
    func subtreeMin() -> _RedBlackTreeNode {
        guard !self.isSentinel else { return self }
