This for example, is my experiment with trying to give Go a backing calculus that supports generics https://asciinema.org/a/166748
The runtime changes yielded over 20k lines of changes - basically about 1/4th of the Go runtime has to change. Not to mention a large amount of semantics changed too - essentially a different language