#include struct Arena { void *root_freespace; void *root_treealloc; void *(*get_new_region)(uintptr_t); void (*error)(char*); }; void unalloc(struct Arena *arena, void *addr); void *alloc(struct Arena *arena, uintptr_t size, uintptr_t align);