docs: def _deserialize(x, elementType, compress, relicReadBinFunc):
      """
      Deserializes a bytearray @x, into an @element of the correct type,
      using the a relic read_bin function and the specified @compressed flag.
      This is the underlying implementation for deserialize G1, G2, and Gt.
      """
      # Convert the bytearray into an appropriately sized ctypes array of bytes
      b = (c_ubyte*len(x))(*bytearray(x))
  
      # The compression flag is an integer.
      flag = c_int(compress)
  
      # Deserialize using the read function.
      result = elementType()
      relicReadBinFunc(byref(result), byref(b), len(x), flag)
      return result