This will break some tools, like Play's forms, that need you to pass to a couple of serialization/deserialization functions.
Shapeless will probably be fine, or at least, since it is macro based, it will be able to go around the missing unapply and extract the fields directly, like pattern matching does. (I don't know shapeless enough to go into more details)
The whole situation just drips with arrogance... "we have a magic number, and if you hit it, you suck"
You mean like Java does since ... forever?
I'm very much looking forward to fixing this ridiculous situation. Onboarding a new hire to Scala with this being the first thing they run in to isn't pretty.
Yes the same here, and I haven't found an idea that's overall better, taking everything into account.