This repository holds all kind of design information for proposals to dotnet/csharplang.
The recent proposal introduces (partial) structural typing compatible with the C# way of nominal typing. In that it contradicts most of the similar proposals which are either fully structural (turn interfaces into structural types) or completely not (type classes via generics).
Have a look at the proposal
The actual actual C# grammar used by the Roslyn team (generated).