Kennedy, Syme, 2001. Design and implementation of generics for the .NET Common language runtime 36.. https://doi.org/10.1145/381694.378797