This is the replacement for D20328.
Rather than using opaque pointer types to delegate the internal representations of mutex / condvar / thread types, in this patch we expect the libc++ vendor to explicitly define the implementation types upfront (at library compile time). The API is still left open for platform vendors to implement, it's only the types that need to be agreed upon.
I would prefer that you not change this option name, as that will break my builds. It's easy enough to fix on my side, but unless there's a really compelling reason, I'd rather not deal with the breakage.