A (hopefully) robust Merkle Tree library, with JS and Ethereum smart contract counterparts, capable of proving tree size, single or multiple element indices, updating a single or several elements, appending a single or a several elements, and any combination or permutation of the above, at the same time.