The function merkleize(value) builds a Merkle Tree
and returns the Bytes32 Hash Tree Root
merkleize(value) provides hash_tree_root forBasic types i.e. unsigned integers of N bytes, known as uintNs, as well as BooleansList and vectors of bits, known as BitLists and BitVectorsLists and vectors of Serializable i.e. either basic or composite typesContainers with Serializable fieldsUnionshash_tree_root a number of helper functions are required, includingsize_ofchunk_countpackpack_bitsnext_pow_of_twomerkleizemix_in_lengthmix_in_type