func Int32(sl []int32) []int32 {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]int32, sz)
	copy(cp, sl)
	return cp
}
Int32 returns a cloned copy of the given int32 slice -- returns nil
if slice has zero length
package sliceclone
func String(sl []string) []string {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]string, sz)
	copy(cp, sl)
	return cp
}
func Byte(sl []byte) []byte {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]byte, sz)
	copy(cp, sl)
	return cp
}
func Rune(sl []rune) []rune {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]rune, sz)
	copy(cp, sl)
	return cp
}
func Bool(sl []bool) []bool {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]bool, sz)
	copy(cp, sl)
	return cp
}
func Int(sl []int) []int {
	sz := len(sl)
	if sz == 0 {
		return nil
	}
	cp := make([]int, sz)
	copy(cp, sl)
	return cp
}