allocators: change semantics