Because the List needs to know what it is listing. Let's say I tell you "grab a pen and paper and make a list"... the first thing you'd ask is "a list of what?"

< > define what type of data the list will be containing. In order to be able to add, search and return a record, it has to know what it is searching for. The List, once defined, is not generic anymore, it is a list of integers, or doubles, or whatever, and cannot be treated otherwise.