https://medium.com/@mahfuz.moon.16/go-generics-everything-you-need-to-know-in-1500-words-858befcf9a75