func MapUint32PtrErr(f func(*uint32) (*uint32, error), list []*uint32) ([]*uint32, error) {
	if f == nil {
		return []*uint32{}, nil
	}
	newList := make([]*uint32, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
MapUint32PtrErr takes 2 arguments:
1. A function input argument: *uint32 and return types (*uint32, error)
2. A list of type []*uint32

Returns:
([]*uint32, error)
package fp
func MapIntPtrErr(f func(*int) (*int, error), list []*int) ([]*int, error) {
	if f == nil {
		return []*int{}, nil
	}
	newList := make([]*int, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapInt64PtrErr(f func(*int64) (*int64, error), list []*int64) ([]*int64, error) {
	if f == nil {
		return []*int64{}, nil
	}
	newList := make([]*int64, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapInt32PtrErr(f func(*int32) (*int32, error), list []*int32) ([]*int32, error) {
	if f == nil {
		return []*int32{}, nil
	}
	newList := make([]*int32, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapInt16PtrErr(f func(*int16) (*int16, error), list []*int16) ([]*int16, error) {
	if f == nil {
		return []*int16{}, nil
	}
	newList := make([]*int16, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapInt8PtrErr(f func(*int8) (*int8, error), list []*int8) ([]*int8, error) {
	if f == nil {
		return []*int8{}, nil
	}
	newList := make([]*int8, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapUintPtrErr(f func(*uint) (*uint, error), list []*uint) ([]*uint, error) {
	if f == nil {
		return []*uint{}, nil
	}
	newList := make([]*uint, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}
func MapUint64PtrErr(f func(*uint64) (*uint64, error), list []*uint64) ([]*uint64, error) {
	if f == nil {
		return []*uint64{}, nil
	}
	newList := make([]*uint64, len(list))
	for i, v := range list {
		var err error
		newList[i], err = f(v)
		if err != nil {
			return nil, err
		}
	}
	return newList, nil
}