Again, in what way is the use of fat pointers a <i>semantic</i> difference, outside of parametricity-breaking functions like size_of_ty and type_id?  You are describing an implementation detail.  I can think of times that the compiler should be able to desugar the fat trait objects into thin ones in the absence of a Reflect bound.