     // must preserve.
     func mergeNode(guid: GUID, localNode: BookmarkTreeNode?, mirrorNode: BookmarkTreeNode?, remoteNode: BookmarkTreeNode?) throws -> MergedTreeNode {
         if let localGUID = localNode?.recordGUID {
-            log.debug("Merging nodes with GUID \(guid). Local match is \(localGUID).")
+            log.verbose("Merging nodes with GUID \(guid). Local match is \(localGUID).")
         } else {
-            log.debug("Merging nodes with GUID \(guid). No local match.")
+            log.verbose("Merging nodes with GUID \(guid). No local match.")
         }
 
         // TODO: if the local node has a different GUID, it's because we did a value-based

                // No remote. Node only exists locally.
                // However! The children might be mentioned in the mirror or
                // remote tree.
                log.debug("Node \(guid) only exists locally.")
                return try takeLocalAndMergeChildren(loc)
            }


        // We know we have a mirror, else we'd have a non-unknown edge.
        if (localNode?.isUnknown ?? true) && (remoteNode?.isUnknown ?? true) {
            precondition(mirrorNode != nil)
            log.verbose("Record \(guid) didn't change from mirror.")

            self.done.insert(guid)
            return try takeMirrorNode(mirrorNode!)
