Dynamic memory management

As long as your objects don't overlap, mixing object types in the void* buffer is fine, just remember which type each element is.

The only fall back is you can't use the block as an array as the types are mixed ( really only a problem if the sizes are different, you can work around different types ).