Well, if you had generics, you could do that. Without generics, you get to either (a) write an efficient method that merges 2 lists of Foos, which is not really package-and-reuse material, or (b) write a horribly inefficient method that merges 2 lists of some interface type, forcing your users to copy their data to new slices every time (since an []x is never an []y).
Faced with these 2 wonderful options, most people simply decide to copy or write again the same piece of code...
Faced with these 2 wonderful options, most people simply decide to copy or write again the same piece of code...