This documentation describes potential implementation of Type Classes and Shapes features in Roslyn compiler.
Goals:
- Provide a solution without extra modification of .NET CLR
- Stay backward compatible so previous versions of C# programming language can use generic types constrained with type classes
- Stay CLS compliant
- Provide interoperability between different .NET languages