The lack of generics makes Go unsuitable to write typesafe, reusable data structures for use in many popular algorithms. That's a fact.
Yes you can hamfist your way around interfaces and empty interfaces, but it's a complete and utter chore and requires a lot of code duplication for each individual type you want.
I like Go in the sense that you can write things quickly and cleanly, but for the use case above, it's not appropriate.