simplify constant expression
adding allocator interface to arena
decouple arena_allocator from std::allocator