Why is this done using make() and a loop?

doesn't go have a copy() function that would work just as well?