I disagree here, if this would be the case it should be called simplify(Query). In general its a rewrite method and should not be judged if it simplifies or not.
I think this is really important to hash out: if we want to optimize query execution, we should do this totally internally at the lowest level possible.
If the optimization is to use a specialized scorer, then I think the right place to do this is inside the Weight.
I don't think we should create a bunch of queries that are really the same and rewrite to each other: because this is more 'exposed' to end users, e.g.
highlighting, caching, and who knows what people are doing in their custom code.
It also requires a heavy maintenance burden of duplicate logic and testing for explain, hashcode, equals, etc.