I'm not completely sure there's a strong community consensus that adding more methods to Optional is even desirable. For example:
A product engineer might choose to implement Optional identical tests with a free function. I don't personally have a very strong opinion which approach is better to the extent I am ready to ship that opinion in Standard Library.
We don't discuss "backdeployment" too much in library evolution… but as of right now I do believe the plan is to implement these methods with alwaysEmitIntoClient or backDeployed wherever possible. So AFAIK there could be a legit impact to binary footprint if we choose to include a method on Optional.
I'm not completely opposed to adding the Optional methods. If there is a strong consensus here in proposal review I'm not going to push back strongly on that. But as of right now I see more arguments in favor of not shipping the Optional methods in Standard Library at this time.
I'm having trouble tracking this feedback. Given that our primary goal with this proposal is to focus on a well-defined set of concrete types, could you please help me understand what your argument is in favor of renaming isIdentical(to:) to isKnownIdentical(to:) on the concrete types from the proposal?
I'm not sure I follow this feedback. Are you directing this feedback at the concrete types in the proposal? Which concrete types are failing to explain the relationship to value-equality?
Our proposal is not adding isIdentical(to:) on Int and this is specifically called out in the proposal as a type we do not recommend for isIdentical(to:).
Our proposal is not adding isIdentical(to:) on Float or Double. Neither of these types are good candidates for isIdentical(to:).
Our proposal also specifically mentions that nan is an "exceptional" value that technically violates our equivalence relations as a known edge case. This is consistent with long-established precedent from Standard Library.
Our isIdentical(to:) on Arraydoes not require the Array to be Equatable. I do not agree that putting "equal" in the name of the API is the correct decision.
As discussed previously I am pushing back on any feedback requesting an operator for this proposal. This can and should be a named method and nothing I have seen so far has persuaded me to change my opinion about that.