code: def _get(self, node_hash, keypath):
          
          # Empty trie
          if node_hash == BLANK_HASH:
              return None
          nodetype, left_child, right_child = parse_node(self.db[node_hash])
          # Key-value node descend
          if nodetype == LEAF_TYPE:
              if keypath:
                  return None
              return right_child
          elif nodetype == KV_TYPE:
              # Keypath too short
              if not keypath:
                  return None
              if keypath[:len(left_child)] == left_child:
                  return self._get(right_child, keypath[len(left_child):])
              else:
                  return None
          # Branch node descend
          elif nodetype == BRANCH_TYPE:
              # Keypath too short
              if not keypath:
                  return None
              if keypath[:1] == BYTE_0:
                  return self._get(left_child, keypath[1:])
              else:
                  return self._get(right_child, keypath[1:])
docs: Note: keypath should be in binary array format, i.e., encoded by encode_to_bin()