Maybe Vale's "regions" are per-type (essentially arrays)? That way a specific memory location would only ever be used for that same type (== same size in memory) until the whole region is destroyed.
iOS is getting a 'typed allocator' which seems to work similar:
Yeah typed allocator would be my guess but those aren't zero cost either. They increase memory usage since if your program allocate an array of 100 ints, delete them, and then allocate an array of 100 floats, unless you allocate more ints on the heap that memory isn't getting reused.
iOS is getting a 'typed allocator' which seems to work similar:
https://security.apple.com/blog/towards-the-next-generation-...