I feel like it's not correct to be pairing `global_heap::malloc_raw` with `libc::free` (i.e. in future we may move away from the libc allocator).