add `zero_alloc` to the allocator interface