eh, there is still a cost to it, don't get me wrong I generally think generics are worth the cost if done right, but they can also go really wrong
How do you implement it in Go? It can be done in Java with generics, but if I make the problem a little bit more generic, a little bit more complicated, then I don't think Java can do it.