Could ADTs extend Product with Serializable in Dotty?

You can still create a value of that type with new. I.e.

   Bar(1): Foo
   new Bar(1): Bar

It’s true that this could open up again the problem of unwanted types in lubs. So Allow traits to be transparently or "invisibly" mixed in could also be relevant in that context.