Nominative and structural type systems Nominative type system Structural type system Subtyping Type system