func TakeInt32Ptr(n int, list []*int32) []*int32 {
	if n < 0 {
		return []*int32{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]*int32, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}
TakeInt32Ptr returns n items in the list
package fp
func TakeInt(n int, list []int) []int {
	if n < 0 {
		return []int{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]int, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}
func TakeIntPtr(n int, list []*int) []*int {
	if n < 0 {
		return []*int{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]*int, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}
func TakeInt64(n int, list []int64) []int64 {
	if n < 0 {
		return []int64{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]int64, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}
func TakeInt64Ptr(n int, list []*int64) []*int64 {
	if n < 0 {
		return []*int64{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]*int64, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}
func TakeInt32(n int, list []int32) []int32 {
	if n < 0 {
		return []int32{}
	}
	newListLen := len(list)
	if n < newListLen {
		newListLen = n
	}
	newList := make([]int32, newListLen)
	for i := 0; i < newListLen; i++ {
		newList[i] = list[i]
	}
	return newList
}