Reverse the conditional in CHECK
Zero memory beyond the new allocation size when shrinking an allocation without remapping any memory
Rename size parameter to newSize, because having both size and _size is super confusing