After seeing this signature, I think that Go is giving up on it's simpleness principle.
ensure that the underlying type is a slice