typedef typename TChooseClass< AllocatorType::NeedsElementType, typename AllocatorType::template ForElementType< ElementType >, typename AllocatorType::ForAnyElementType >::Result ElementAllocatorType