This is an experimental rewrite of https://go.googlesource.com/proposal/+/master/design/go2draft-contracts.md to evaulate if type parameterized types as described in the contracts proposal could be implemented on top of the feature described in golang/go#33818. This to help evaluate weather the featuere could make sense for Go in the longer term, or if there is any issues with it.
This is not mean as an actual proposal.
This text assumes type parameterized interface default