1. You still need std::launder in that case.
2. It doesn't initialize the object that is implicitly created, even if the storage has initialized chars.