### Description

Our blocks#equals implementation checks only the content and skips a trivial identity check.

x-pack/plugin/esql/compute/src/main/generated-src/org/elasticsearch/compute/data/DoubleBlock.java
result = 31 * result - 1;
            } else {
                final int valueCount = block.getValueCount(pos);
                result = 31 * result + valueCount;
                final int firstValueIdx = block.getFirstValueIndex(pos);
                for (int valueIndex = 0; valueIndex < valueCount; valueIndex++) {
                    long element = Double.doubleToLongBits(block.getDouble(firstValueIdx + valueIndex));
                    result = 31 * result + (int) (element ^ (element >>> 32));
                }
            }
        }
        return result;
    }
    
    
    static Builder newBlockBuilder(int estimatedSize) {
        return newBlockBuilder(estimatedSize, BlockFactory.getNonBreakingInstance());
    }
    static Builder newBlockBuilder(int estimatedSize, BlockFactory blockFactory) {
        return blockFactory.newDoubleBlockBuilder(estimatedSize);
    }
    
    
    static DoubleBlock newConstantBlockWith(double value, int positions) {
        return newConstantBlockWith(value, positions, BlockFactory.getNonBreakingInstance());
    }
    static DoubleBlock newConstantBlockWith(double value, int positions, BlockFactory blockFactory) {
        return blockFactory.newConstantDoubleBlockWith(value, positions);
    }
    sealed interface Builder extends Block.Builder permits DoubleBlockBuilder {