Is it possible/wise/ever done to have a bidirectionally typed programming language in which an arbitrary function (or rather, function name) can be declared to be an eliminator for one of its arguments, thus allowing some type-based overloading?
(And similar for declaring a function name as a constructor)
You can follow @laMudri.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: