I think it is not too hard to understand that Option<T> is not T, Box<dyn Trait>: Trait may not hold. So what make people think that dyn Trait must be Trait?
This is only true when you can also say Trait when you actually want dyn Trait. But this is going to be depreceated and I am not proposing to do it right now. Rather, once using Trait in dyn Trait position becomes hard error, it is the good time to introduce this relax.
What I am saying is: there is no absolute reason to think that dyn Trait have to be a Trait, because they are not spelled the same name. Thinking they are the same is actually an easy misunderstand for new users.
If dyn Trait grammar is required I didn’t see any local reasoning would be breaking - after all, once you have a trait object, as if you you have any objects, to do local reasoning you have to examin whether it have such a method defined, and whether the usage matches its signature. There is no difference here - if you are calling a method that is not object safe, you can see that the way it was defined is not suitable for dynamic dispatch. The compiler can also give very meaningful error messages like “This method is generic and is not suitable for dynamic dispatch”.
But I am afraid we are not talking about the same thing. Can you please give an example of how local reasoning can be breaking?
If this is what you were talking about " breaking local reasoning", I can only tell that if you called a method and it is not object safe, all you have to do is to check the defintion of the trait, and verify the method you are calling is actually object safe, just like you will need to check whether you passed a &T to a method requires &mut T. And in many cases, you will not even need to check - if the method does not have a receiver, you will not be able to call it on a trait object anyways.
A bonus is that if dyn Trait:Trait does not hold, and you have a method require T: Trait, you will not be able to pass a trait object to that function in the first place. So there is nothing can pass down.