Introduction to Type and Communication