Câu trả lời ngắn gọn là "để xác minh các thuộc tính bổ sung của mã hiện có". Câu trả lời dài hơn sau.
Tôi không chắc chắn "ngầm" so với "tường minh" là thuật ngữ tốt. Sự khác biệt này đôi khi được gọi là phân nhóm "cấu trúc" và "danh nghĩa". Sau đó, cũng có một sự phân biệt thứ hai trong các giải thích có thể về phân nhóm cấu trúc (mô tả ngắn gọn). Lưu ý rằng cả ba cách hiểu về phân nhóm thực sự là trực giao và do đó, thật không có ý nghĩa gì khi so sánh chúng với nhau, thay vì hiểu cách sử dụng của nhau.
Sự khác biệt chính trong hoạt động trong việc diễn giải mối quan hệ phân nhóm cấu trúc A <: B là liệu nó có được chứng kiến bởi một sự ép buộc thực sự với nội dung tính toán (thời gian chạy / tính toán) hay liệu nó có thể được chứng kiến bởi sự ép buộc nhận dạng hay không. Nếu trước đây, thuộc tính lý thuyết quan trọng phải giữ là "sự gắn kết", nghĩa là, nếu có nhiều cách để chỉ ra rằng A là một kiểu con cấu trúc con của B, thì mỗi cưỡng chế đi kèm phải có cùng một nội dung tính toán.
Liên kết mà bạn đưa ra dường như có cách hiểu thứ hai về phân nhóm cấu trúc, trong đó A <: B có thể được chứng kiến bằng sự ép buộc danh tính. Điều này đôi khi được gọi là "giải thích tập hợp con" của phân nhóm, theo quan điểm ngây thơ rằng một loại đại diện cho một tập hợp các giá trị, và vì vậy A <: B chỉ trong trường hợp mọi giá trị của loại A cũng là một giá trị của loại B. Nó cũng là đôi khi được gọi là "gõ tinh chỉnh" và một loại giấy tốt để đọc cho động lực ban đầu là các loại sàng lọc của Freeman & Pfenning cho ML . Để có một hóa thân gần đây hơn trong F #, bạn có thể đọc các loại của Bengston và cộng sự, các loại sàng lọc để triển khai an toàn. Ý tưởng cơ bản là lấy một ngôn ngữ lập trình hiện có có thể (hoặc có thể không) đã có các loại nhưng trong đó các loại không đảm bảo tất cả (ví dụ: chỉ an toàn bộ nhớ) và xem xét lớp thứ hai chọn các tập hợp con của chương trình với bổ sung, tính chất chính xác hơn.
(Bây giờ, tôi sẽ lập luận rằng lý thuyết toán học đằng sau cách giải thích về phân nhóm này vẫn chưa được hiểu rõ như nó cần phải có, và có lẽ đó là vì cách sử dụng của nó không được đánh giá cao như chúng nên. Một vấn đề là "bộ về các giá trị "việc giải thích các loại là quá ngây thơ, và vì vậy đôi khi nó bị bỏ qua thay vì được tinh chỉnh. Đối với một lập luận khác cho rằng cách giải thích này của phân loại đáng được chú ý hơn về mặt toán học, hãy đọc phần giới thiệu về Không gian của Paul Taylor trong Tóm tắt Đá kép .)