I wonder if they do bin them though, just not for iPhones or iPads. Perhaps today's A13/A14s that have small defects are tomorrow's Apple TV or HomePod CPUs.
I drive a 2013 FRS (older US version of the 86) and I'll experience weird dropouts all day like once every couple of months. Otherwise it works flawlessly. Very strange. You might try using it now and again and see if the problem "just goes away". Very frustrating though. I did not opt for the touchscreen however. I think my head unit is made by Pioneer.
There's a fascinating write-up by John Carmack in there about porting the original Wolfenstein 3D to the iPhone. Crazy to think that was over 10 years ago.
Thanks for taking the time to type this up. Having just written a class similar to Span in C++ I was curious as to how this would be accomplished in C#.
I'd say for strings it's entirely ___domain dependent. Many problem ___domain's won't ever use `std::variant` but may require that all strings live in ROM, so for those domains the default behavior makes perfect sense. If you want to compare C++ to modern languages, I get it, it's obtuse, but C++ is also used in instances where other languages can't be and so has to at least support doing things that may be unintuitive in other domains. That being said it would be nice if we could deprecate things with wholly better replacements like raw pointers, raw arrays, etc.