code: def _get(self, key: bytes) -> Tuple[bytes, Tuple[Hash32]]:
          
          validate_is_bytes(key)
          validate_length(key, self._key_size)
          branch = []
  
          target_bit = 1 << (self.depth - 1)
          path = to_int(key)
          node_hash = self.root_hash
          # Append the sibling node to the branch
          # Iterate on the parent
          for _ in range(self.depth):
              node = self.db[node_hash]
              left, right = node[:32], node[32:]
              if path & target_bit:
                  branch.append(left)
                  node_hash = right
              else:
                  branch.append(right)
                  node_hash = left
              target_bit >>= 1
  
          # Value is the last hash in the chain
          # NOTE: Didn't do exception here for testing purposes
          return self.db[node_hash], tuple(branch)
docs: Returns db value and branch in root->leaf order