[ 2016-08-04 Chicago LWG ]
Robert Douglas provides initial wording.
We decided against another constructor overload to avoid the semantic confusion between:
basic_string(char const*, size_type length, Allocator = Allocator())
and
template<class T, class Foo = is_convertible_v<T const&, basic_string_view<charT, traits>> basic_string(T const&, size_type pos, Allocator = Allocator())
where someone might call:
basic_string("HelloWorld", 5, 5);
and get "World", but then call
basic_string("HelloWorld", 5);
and instead get "Hello". The second parameter changes between length and position.