This module compactly allocates blocks of arbitrary length, usually used for dynamically allocated Freecell columns. The blocks are allocated one after the other inside malloc()'ed memory segments that are thus guaranteed to retain their position.