https://medium.com/@jianliu222/can-you-build-a-scalable-app-without-generics-i-tried-with-go-so-you-dont-have-to-b6d762956ece