func MapInt64Uint32PtrErr(f func(*int64) (*uint32, error), list []*int64) ([]*uint32, error) {
	if f == nil {
		return []*uint32{}, nil
	}
	newList := make([]*uint32, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
MapInt64Uint32PtrErr takes two inputs -
1. Function 2. List. Then It returns a new list after applying the function on each item of the list, error
package fp
func MapIntInt64PtrErr(f func(*int) (*int64, error), list []*int) ([]*int64, error) {
	if f == nil {
		return []*int64{}, nil
	}
	newList := make([]*int64, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntInt32PtrErr(f func(*int) (*int32, error), list []*int) ([]*int32, error) {
	if f == nil {
		return []*int32{}, nil
	}
	newList := make([]*int32, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntInt16PtrErr(f func(*int) (*int16, error), list []*int) ([]*int16, error) {
	if f == nil {
		return []*int16{}, nil
	}
	newList := make([]*int16, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntInt8PtrErr(f func(*int) (*int8, error), list []*int) ([]*int8, error) {
	if f == nil {
		return []*int8{}, nil
	}
	newList := make([]*int8, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntUintPtrErr(f func(*int) (*uint, error), list []*int) ([]*uint, error) {
	if f == nil {
		return []*uint{}, nil
	}
	newList := make([]*uint, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntUint64PtrErr(f func(*int) (*uint64, error), list []*int) ([]*uint64, error) {
	if f == nil {
		return []*uint64{}, nil
	}
	newList := make([]*uint64, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntUint32PtrErr(f func(*int) (*uint32, error), list []*int) ([]*uint32, error) {
	if f == nil {
		return []*uint32{}, nil
	}
	newList := make([]*uint32, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntUint16PtrErr(f func(*int) (*uint16, error), list []*int) ([]*uint16, error) {
	if f == nil {
		return []*uint16{}, nil
	}
	newList := make([]*uint16, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntUint8PtrErr(f func(*int) (*uint8, error), list []*int) ([]*uint8, error) {
	if f == nil {
		return []*uint8{}, nil
	}
	newList := make([]*uint8, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntStrPtrErr(f func(*int) (*string, error), list []*int) ([]*string, error) {
	if f == nil {
		return []*string{}, nil
	}
	newList := make([]*string, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntBoolPtrErr(f func(*int) (*bool, error), list []*int) ([]*bool, error) {
	if f == nil {
		return []*bool{}, nil
	}
	newList := make([]*bool, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntFloat32PtrErr(f func(*int) (*float32, error), list []*int) ([]*float32, error) {
	if f == nil {
		return []*float32{}, nil
	}
	newList := make([]*float32, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapIntFloat64PtrErr(f func(*int) (*float64, error), list []*int) ([]*float64, error) {
	if f == nil {
		return []*float64{}, nil
	}
	newList := make([]*float64, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64IntPtrErr(f func(*int64) (*int, error), list []*int64) ([]*int, error) {
	if f == nil {
		return []*int{}, nil
	}
	newList := make([]*int, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64Int32PtrErr(f func(*int64) (*int32, error), list []*int64) ([]*int32, error) {
	if f == nil {
		return []*int32{}, nil
	}
	newList := make([]*int32, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64Int16PtrErr(f func(*int64) (*int16, error), list []*int64) ([]*int16, error) {
	if f == nil {
		return []*int16{}, nil
	}
	newList := make([]*int16, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64Int8PtrErr(f func(*int64) (*int8, error), list []*int64) ([]*int8, error) {
	if f == nil {
		return []*int8{}, nil
	}
	newList := make([]*int8, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64UintPtrErr(f func(*int64) (*uint, error), list []*int64) ([]*uint, error) {
	if f == nil {
		return []*uint{}, nil
	}
	newList := make([]*uint, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}
func MapInt64Uint64PtrErr(f func(*int64) (*uint64, error), list []*int64) ([]*uint64, error) {
	if f == nil {
		return []*uint64{}, nil
	}
	newList := make([]*uint64, len(list))
	for i, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		newList[i] = r
	}
	return newList, nil
}