SE-0328: Structural opaque result types

Thank you for the precise summary of previous conversation (here). I appreciate it :bowing_man:

I think we should consider that the addition of T<some P> will increase the number of functions that takes reverse generic argument. For example, consider Array<some Numeric>. Calling append method must require reverse generic argument.

var array: Array<some Numeric> = [0, 1, 2, 3]
// it requires reverse generic argument
array.append(...)

With more examples of reverse generic argument, this proposal will strengthen the argument that some P should be used for reverse generic arguments, even if we rule out to use bare some P in argument position.