On the contrary. MPL protects source code files. If you copy the source code files, you copy the license. If you add new source to the same files, that code must share the same license. That's perfectly simple to understand.
Compare to the LGPL, which has different rules depending on the exact details of how the library is constructed and linked.
There is no "self destruction", I don't really know why you think there is. The license requires you to provide source code for the MPL-2.0 licensed source code files regardless of how your software is built (that's why it is in fact copyleft).
What it doesn't do is force you to license non-MPL-2.0 source code files under the MPL-2.0, even if you combine the two into a binary. It is explicitly non-viral, but still enforces copyleft protections onto the originally licensed code.
I quite like it. It's much simpler to understand and easier to comply with than LGPL.