There are two main parts to the Contracts Draft Design:
- Type Parameters
- Contracts
Type Parameters are mostly independent of Contracts; Contracts builds on Type Parameters. The two concepts are well thought-out and many corner cases have been looked at.
These are some specific points that I think are done well by the current generics draft proposal, not in any particular order:
- Type parameters (generics!) in functions, structs, etc.