Addresses DE-15
Several function templates of pair and tuple allow for too many implicit conversions, for example:
#include <tuple> std::tuple<char*> p(0); // Error? struct A { explicit A(int){} }; A a = 1; // Error std::tuple<A> ta = std::make_tuple(1); // OK?