docs: def ComputeRoot(hashes):
          """
          Compute the root hash.
  
          Args:
              hashes (list): the list of hashes to build the root from.
  
          Returns:
              bytes: the root hash.
          """
          if not len(hashes):
              raise Exception('Hashes must have length')
          if len(hashes) == 1:
              return hashes[0]
  
          tree = MerkleTree(hashes)
          return tree.Root.Hash