Beyond inductive datatypes: exploring Self types
github.com
github.com
https://github.com/kind-lang/Kind/blob/master/CONTRIBUTE.md#...
On the other hand, it makes efficient runtime (runtime is a tricky word here ;) ) representation of data types a bit more opaque! Or at the very least I’ve seen little work that attacks that problem.
That said, perhaps all the optimization tricks developed for self and small talk etc are the answer here?