[Pitch #2] Add `isIdentical` Methods for Quick Comparisons to Concrete Types

Thank you for helping me understand some points a little more clearly. I believe some previous comments address some more details that could be relevant to that:

We currently consider an independent protocol outside Equatable to be an "alternative considered". The previous pitch took this direction… but the previous pitch review and discussion compared the pros and cons of an independent protocol and I changed my mind after hearing those points. We feel that keeping this on Equatable is the right trade off for now for this pitch.

My understanding is similar: we have access to Span for types like Array… but we will not AFAIK ever have access to an easy Span transformation for types like Dictionary. Coupling our "identity equality" to Span limits our flexibility to make use of this API.

The previous pitch did not include a nil returning "default" value. This was added after the previous pitch review. We feel like nil communicates important information and context that is meaningfully different than what a false default value would represent.

You're not wrong… it's a valid point and if these two pitches did turn into formal proposal design reviews I see no reason they must run concurrently with each other.

We've had pitches complete with "Partially Accepted" as an outcome. Were these two pitches presented together and the one half was well-received and the other not, that could happen without having introduced the confusion of two seemingly identical pitches (yes, I do understand the distinction, but I didn't before you explained it in the comments). I guess that's moot, though, as it's too late to avoid confusion now.

Edit: I guess the acceptance is actually for formal Proposals, not pitches, so I suppose that a single unified Proposal could still be made with both "halves" of the Proposal being independently evaluable.

1 Like