         
         if let keys = keys {
             self.searchTree[keys]?.fullyIndexed = true
-        } else {
-            self.searchTree.fullyIndexed = true
+        } else if levels == nil {
+            self.searchTree.fullyIndexed = self.searchTree.storage.values.reduce(true) { $0.1.fullyIndexed && $0.0 }
         }
         
 //        unset = true

        
        let thisKey = keys ?? []
        
        resumeCheck: if var keys = keys {
            if let pos = searchTree[position: keys] {
                if searchTree[keys]?.fullyIndexed == true {
                    return nil

            }
            
            // elementTypePosition + 1 (key position)
            keySkipper : for i in position &+ 1..<storage.count {
                guard self.storage[i] != 0 else {
                    // null terminator + length
                    position = i &+ 5
