Hacking sum types with Go generics · HackerTrans