I think your observation that a Result type with typed errors can be paired with a typealias to provide a Result “type” with untyped errors. However, I think your solution is heavily biased towards use of Result (untyped errors) rather than ResultBase (typed errors). We could just as easily haveResult<T, E> and something like ResultWithUntypedErrors so I think it’s quite a stretch to say that the proposed design makes both camps happy.
The core issue is that a decision needs to be made as to what the name Result will mean. If we typed errors are chosen people will be free to add a typealias if they wish. You are proposing that punting on this by calling the foundational ResultBase and supporting both models in the standard library is better than making a choice and living with it. My instinct is that this could cause confusion and will not fully satisfy those who prefer typed errors. It feels to me like a direction that could end up in a similar stat as the endless access control debate.
The topic of typed errors has been discussed in quite some detail in the past. I am not sure there are any new arguments to be made on this topic, but perhaps a new debate focused on the higher-level question of whether we should have typed errors or not (rather than the design details of a specific proposal for typed errors) could help focus and clarify the positions of both sides.
IMO, there is not going to be a clear winner here and the core team is going to have to make a judgement call to settle the discussion. I would love to see that happen soon even if the design and implementation of typed throws (if that is the direction) doesn’t happen immediately. Getting a Result type that is aligned with the intended direction of the langue into the standard library would be greatly beneficial to everyone.
One additional observation I would like to contribute is that there are a lot of people using a Result type with typed errors already. I haven’t seen any discussion of substance about how this would be addressed if we introduced a Result type with untyped errors into the standard library. Would people be willing to spend effort to migrate code and give up typed errors (which they may prefer) in order to adopt the standard library type? If not, how large will this segment of the Swift community be and what are the consequences of this split? We should consider this very carefully.