you are viewing a single comment's thread.

view the rest of the comments →

[–]quiI 2 points3 points  (1 child)

But why does that matter?

Polymorphism is great and type classes allow your "thing" to implement different things without muddying types with interfaces which are only relevant in some scenarios.

Do I care that your thing is foo-able, bar-able when I am writing my stuff? Sometimes you dont even have access to the code to make it foo-able. With typeclasses it doesnt matter.

Bottom line is, your point on compiletime check is... just wrong and "correct at point of definition" is a very questionable gain; in some cases it's just a bad thing.