A few years ago, I made a Go library genesis with some generic functions, mostly inspired by Elixir. And now, Go 1.18 beta is available, and it has proper generics! The 1.18 release is already in a few months. I used this opportunity to try the generics and migrate the project. And it’s pretty cool (except one stack overflow but it will be fixed in the release). If you want to read more about the project history, I’ve made a short reddit post. So, give genesis a try, it’s pretty cool now.