Lý do về việc kế thừa (hoặc bất kỳ tính năng đơn lẻ nào, thực sự) có cần thiết hay không mà không xem xét phần còn lại của ngữ nghĩa của ngôn ngữ là vô nghĩa; bạn đang cãi nhau trong chân không
Những gì bạn cần là một triết lý thiết kế ngôn ngữ nhất quán; ngôn ngữ cần có khả năng giải quyết vấn đề một cách tao nhã. Mô hình để đạt được điều này có thể hoặc không cần kế thừa, nhưng thật khó để đánh giá điều này nếu không có bức tranh lớn.
Ví dụ, nếu ngôn ngữ của bạn có các hàm hạng nhất, ứng dụng hàm một phần, kiểu dữ liệu đa hình, biến kiểu và kiểu chung, bạn có khá nhiều cơ sở giống như bạn có với kế thừa OOP cổ điển, nhưng sử dụng mô hình khác.
Nếu bạn có ràng buộc muộn, gõ động, thuộc tính phương thức, đối số hàm linh hoạt và hàm hạng nhất, bạn cũng bao gồm cùng một căn cứ, nhưng một lần nữa, sử dụng mô hình khác.
(Tìm các ví dụ cho hai mô hình được phác thảo là một bài tập cho người đọc.)
Vì vậy, hãy suy nghĩ về loại ngữ nghĩa mà bạn muốn, chơi xung quanh với chúng và xem liệu chúng có đủ mà không cần thừa kế. Nếu họ không, bạn có thể quyết định ném thừa kế vào hỗn hợp, hoặc bạn có thể quyết định rằng thiếu một cái gì đó khác.