The library provides a template for heterogeneous pairs of values.
The library also provides a matching function template to simplify
their construction and several templates that provide access to pair
objects as if they were tuple objects (see [tuple.helper]
and [tuple.elem]).