This module contains support for pooled memory management. Under this scheme,
(re-)allocations belong to a given pool, and everything in a pool is
deallocated when the pool itself is deallocated. This is useful when
alloca with its implicit allocation and deallocation
is not flexible enough, but explicit uses of malloc
and free are too awkward.