The structpiecewise_construct_t is an empty class type
used as a unique type to disambiguate constructor and function overloading.
Specifically,
pair has a constructor with piecewise_construct_t as the
first argument, immediately followed by two tuple arguments used
for piecewise construction of the elements of the pair object.