A developer should be able to view the source code for a method or function, in order to learn how the method or function is implemented. We need to do something smart with abstract classes (like List).