Making allocators part of a type or scope instead of in every function call might be a start.