On further thought it looks like `_zerofill` just 'knows' that only object types have zero values that are not represented by the all-zero bitpattern. This is probably a bug -- we should be calling some method on the dtype object to do the initialization. But even so, I don't see where you handle `np.zeros((10,), dtype=object)` in this code?