With containers containing heterogeneous types, e.g. struct S1 below, I\'m propagating the allocator to the member elements via rebinding the allocator from the
struct S1