Toplam türler, genel OO dillerinde, OO alt tiplemesine benzer bir problemi çözdükleri için genellikle daha az faydalı olacaktır. Onlara bakmanın bir yolu, her ikisinin de alt tiplemeyi ele almasıdır, ancak OO, open
bir tanesi bir ebeveyn tipine isteğe bağlı alt tipler ekleyebilir ve toplam tipler, closed
yani bir alt tipin hangi alt tiplerin geçerli olduğuna karar vermesidir.
Şimdi, birçok OO dili alt tiplemeyi, kalıtsal yapılar, polimorfizm, referans yazma vb. Gibi diğer kavramlarla birleştirerek bunları daha kullanışlı hale getiriyor. Bunun bir sonucu, (sınıflar ve kurucularla ve ne olursa olsun) kurmak için daha fazla çalışma eğiliminde olmalarıdır, bu yüzden Result
s ve Option
s gibi şeyler için kullanılmaya meyilli değillerdi, genel yazım yaygınlaşana kadar.
Ayrıca, çoğu insanın OO programlamaya başladıklarında öğrendikleri gerçek-dünya ilişkilerine odaklanmanın, örneğin Dog isa Animal, yani Integer'ın Sonuç ya da Hata ve sonuç olarak biraz yabancı göründüğünü söyleyebilirim. Fikirler oldukça benzer olsa da.
İşlevsel dillerin neden açık yazı yazmak için kapalı yazmayı tercih edebileceğine gelince, olası bir neden, kalıp eşleştirmeyi tercih etme eğiliminde olmalarıdır. Bu, işlev polimorfizmi için kullanışlıdır, ancak derleyici tüm alt tiplerin örtülüp örtülmediğini statik olarak kontrol edebildiği için kapalı tiplerle de iyi çalışır. Bu, dili daha tutarlı hissettirebilir, ancak herhangi bir içsel fayda olduğuna inanmıyorum (yanılıyor olabilirim).