`_zerofill` is not the same as `memset(buf, 0)`. What happens here for dtypes for which the 0 value is not represented by the all-zero bitpattern?