As an old coworker used to say: code reuse in the small (libraries) and in the large (databases) are solved problems, but code reuse in the medium is Hard. I agree, though I find it difficult to understand or explain why.
p.s. I also wrote that same library when go generics landed.
p.s. I also wrote that same library when go generics landed.