func RestInt32Ptr(l []*int32) []*int32 {
	if l == nil {
		return []*int32{}
	}
	len := len(l)
	if len == 0 || len == 1 {
		return []*int32{}
	}
	newList := make([]*int32, len-1)
	for i, v := range l[1:] {
		newList[i] = v
	}
	return newList
}
RestInt32Ptr removes 1st item of the list and return new list having rest of the items
package fp
func RestIntPtr(l []*int) []*int {
	if l == nil {
		return []*int{}
	}
	len := len(l)
	if len == 0 || len == 1 {
		return []*int{}
	}
	newList := make([]*int, len-1)
	for i, v := range l[1:] {
		newList[i] = v
	}
	return newList
}
func RestInt64Ptr(l []*int64) []*int64 {
	if l == nil {
		return []*int64{}
	}
	len := len(l)
	if len == 0 || len == 1 {
		return []*int64{}
	}
	newList := make([]*int64, len-1)
	for i, v := range l[1:] {
		newList[i] = v
	}
	return newList
}