record Allocator { u8* userdata; u8*(u8* userdata, u8* original, u32 size) realloc; }