If block.length is within [min, max] or if the free list is
unchecked (minSize == 0 && maxSize == size_t.max), then inserts the
block at the front of the free list. For all others, forwards to parent.deallocate if Parent.deallocate is defined.
Precondition:
If set at runtime, min and/or max must be initialized
appropriately. The block must have been allocated with this
freelist, and no dynamic changing of min or max is allowed to
occur between allocation and deallocation.
If block.length is within [min, max] or if the free list is unchecked (minSize == 0 && maxSize == size_t.max), then inserts the block at the front of the free list. For all others, forwards to parent.deallocate if Parent.deallocate is defined.