C SC 520 Principles of Programming Languages 1 Principles of Programming Languages Lecture 04 Types and Polymorphism.