Rebased on master.
(Is "CTAD for container types" similar to "polymorphic memory resources" in the bucket of "things libc++ doesn't want to implement for engineering reasons," and if so, could you guys go on record with that? It would be less dysfunctional than the current model.)
Almost there. A couple nits, a few consts, and landing D58587, and we're done.
Any reason that you're not using __iter_value_type here? (Besides that it is declared in D58587)
same comment re: __iter_value_type
Please change to std::allocator<long> When we tighten up the constraints on set, it won't break this test.