std :: pair <T1, T2> não deveria ter um construtor padrão trivial se T1 e T2 tiverem?

Eu tive um problema porque

 std::is_trivially_default_constructible<std::pair<T1,T2>>::value == false;

mesmo se

 std::is_trivially_default_constructible<T1>::value == true;
 std::is_trivially_default_constructible<T2>::value == true;

Não consegui encontrar uma boa razão para este design. Não seria apropriado parastd::pair<T1,T2>&nbsp;ter um=default&nbsp;construtor seT1&nbsp;eT2&nbsp;ter?

Existe uma solução simples (mais simples do que definir minha própriapair<>)?