2025-09-05 [08:02:46.0714] Regarding https://tc39.es/ecma262/#sec-hostgrowsharedarraybuffer and equality definition of Data Blocks: > Two data blocks are equal only if the sets of the locations they contain are equal; otherwise, they are not equal and the intersection of the sets of locations they contain is empty. What is the intention vis a vis empty DataBlocks? Their sets of locations are equal (no locations), and likewise the intersection of their sets of locations is empty. The first sentence quite clearly states that they should be equal to one another, while the second sentence kind of implies that maybe they should not be. [08:04:59.0229] I suspect this means that two data blocks can either refer to the exact memory locations, or they must be disjoint [08:05:15.0819] they shouldn't partially overlap [08:25:42.0314] I agree. Note also that the immutable ArrayBuffer is already restricting that check to Shared Data Blocks: https://tc39.es/proposal-immutable-arraybuffer/ An empty Shared Data Block should not be equal to any other Shared Data Block, and given the basis for equality testing, would not even be equal to itself (which awkwardly breaks reflexivity but is not actually problematic AFAICT). I guess the text could be something like > Two Shared Data Blocks that both contain any one location must contain exactly the same set of locations and are equal to each other. All other pairs of Shared Data Blocks must contain respectively disjoint locations and are not equal to each other. Note that an empty Shared Data Block is thus not even equal to itself.