Why does allocators.h need compat.h?