Generics
Generic Interfaces
Generic Class
Type parameters as constraints
Generics Constraints
Generic Functions
Using generic Classes and Functions