Working implementation of an allocator from a given pool object. We do not allow rebinding the allocator to another type.