template <class T> class List {...};
Same code for a list of integers , a list of complex numbers, a list of Atoms etc. e.g. List<int> list1; List<Atom> list2;
List<int> list1; List<Atom> list2;
Not feature of all languages e.g. not in Java or C
No run-time overhead