Principles of programming languages 6: Types Isao Sasano Department of Information Science and Engineering.