A memory pool that can allocate objects of a single type very quickly.
Use this when you need to allocate a lot of objects of the same type,
because it outperforms general purpose allocators.
Allocated items are aligned to alignment-byte addresses or @alignOf(Item)
if alignment is null.
Functions that potentially allocate memory accept an Allocator parameter.
pub fn Aligned(comptime Item: type, comptime alignment: Alignment) type
pub fn Aligned(comptime Item: type, comptime alignment: Alignment) type {
return Extra(Item, .{ .alignment = alignment });
}