Add purposes of using generics