https://blog.f12.no/wp/2004/10/18/extensive-generics-faq/
Extensive generics FAQ