func SortInts16Desc(list []int16) []int16 {
	if len(list) == 0 {
		return []int16{}
	}
	var newList int162
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
SortInts16Desc return new sorted list
package fp
import "sort"
type int641 []int64
func (a int641) Len() int           { return len(a) }
func (a int641) Less(i, j int) bool { return a[i] < a[j] }
func (a int641) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func SortInts64(list []int64) []int64 {
	if len(list) == 0 {
		return []int64{}
	}
	var newList int641
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
func SortInts64Ptr(list []*int64) []*int64 {
	if len(list) == 0 {
		return []*int64{}
	}
	var newList int641
	for _, item := range list {
		newList = append(newList, *item)
	}
	sort.Sort(newList)
	newListPtr := make([]*int64, len(list))
	for i := 0; i < len(newList); i++ {
		newListPtr[i] = &newList[i]
	}
	return newListPtr
}
type int642 []int64
func (a int642) Len() int           { return len(a) }
func (a int642) Less(i, j int) bool { return a[i] > a[j] }
func (a int642) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func SortInts64Desc(list []int64) []int64 {
	if len(list) == 0 {
		return []int64{}
	}
	var newList int642
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
func SortInts64DescPtr(list []*int64) []*int64 {
	if len(list) == 0 {
		return []*int64{}
	}
	var newList int642
	for _, item := range list {
		newList = append(newList, *item)
	}
	sort.Sort(newList)
	newListPtr := make([]*int64, len(list))
	for i := 0; i < len(newList); i++ {
		newListPtr[i] = &newList[i]
	}
	return newListPtr
}
type int321 []int32
func (a int321) Len() int           { return len(a) }
func (a int321) Less(i, j int) bool { return a[i] < a[j] }
func (a int321) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func SortInts32(list []int32) []int32 {
	if len(list) == 0 {
		return []int32{}
	}
	var newList int321
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
func SortInts32Ptr(list []*int32) []*int32 {
	if len(list) == 0 {
		return []*int32{}
	}
	var newList int321
	for _, item := range list {
		newList = append(newList, *item)
	}
	sort.Sort(newList)
	newListPtr := make([]*int32, len(list))
	for i := 0; i < len(newList); i++ {
		newListPtr[i] = &newList[i]
	}
	return newListPtr
}
type int322 []int32
func (a int322) Len() int           { return len(a) }
func (a int322) Less(i, j int) bool { return a[i] > a[j] }
func (a int322) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func SortInts32Desc(list []int32) []int32 {
	if len(list) == 0 {
		return []int32{}
	}
	var newList int322
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
func SortInts32DescPtr(list []*int32) []*int32 {
	if len(list) == 0 {
		return []*int32{}
	}
	var newList int322
	for _, item := range list {
		newList = append(newList, *item)
	}
	sort.Sort(newList)
	newListPtr := make([]*int32, len(list))
	for i := 0; i < len(newList); i++ {
		newListPtr[i] = &newList[i]
	}
	return newListPtr
}
type int161 []int16
func (a int161) Len() int           { return len(a) }
func (a int161) Less(i, j int) bool { return a[i] < a[j] }
func (a int161) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func SortInts16(list []int16) []int16 {
	if len(list) == 0 {
		return []int16{}
	}
	var newList int161
	for _, item := range list {
		newList = append(newList, item)
	}
	sort.Sort(newList)
	return newList
}
func SortInts16Ptr(list []*int16) []*int16 {
	if len(list) == 0 {
		return []*int16{}
	}
	var newList int161
	for _, item := range list {
		newList = append(newList, *item)
	}
	sort.Sort(newList)
	newListPtr := make([]*int16, len(list))
	for i := 0; i < len(newList); i++ {
		newListPtr[i] = &newList[i]
	}
	return newListPtr
}
type int162 []int16
func (a int162) Len() int           { return len(a) }
func (a int162) Less(i, j int) bool { return a[i] > a[j] }
func (a int162) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }