comments
use voidPromise to reduce GC overhead
allocator is pooled in bootstraps