func FilterPtrErr(f func(*Employer) (bool, error), list []*Employer) ([]*Employer, error) {
	if f == nil {
		return []*Employer{}, nil
	}
	var newList []*Employer
	for _, v := range list {
		r, err := f(v)
		if err != nil {
			return nil, err
		}
		if r {
			newList = append(newList, v)
		}
	}
	return newList, nil
}
FilterPtrErr takes two arguments
1. Function: takes 1 argument of type Employer and returns (bool, error)
2. slice of type []*Employer

Returns:
new filtered list and error
package employer
import _ "reflect" 
import "sort" 
import "sync"
import "github.com/logic-building/functional-go/fp" 
import "github.com/logic-building/functional-go/internal/employee" 
func Map(f func(Employer) Employer, list []Employer) []Employer {
	if f == nil {
		return []Employer{}
	}
	newList := make([]Employer, len(list))
	for i, v := range list {
		newList[i] = f(v)
	}
	return newList
}
func MapPtr(f func(*Employer) *Employer, list []*Employer) []*Employer {
	if f == nil {
		return []*Employer{}
	}
	newList := make([]*Employer, len(list))
	for i, v := range list {
		newList[i] = f(v)
	}
	return newList
}
func MapPtrErr(f func(*Employer) (*Employer, error), list []*Employer) ([]*Employer, error) {
	if f == nil {
		return []*Employer{}, nil
	}
	newList := make([]*Employer, 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 MapErr(f func(Employer) (Employer, error), list []Employer) ([]Employer, error) {
	if f == nil {
		return []Employer{}, nil
	}
	newList := make([]Employer, 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 Filter(f func(Employer) bool, list []Employer) []Employer {
	if f == nil {
		return []Employer{}
	}
	var newList []Employer
	for _, v := range list {
		if f(v) {
			newList = append(newList, v)
		}
	}
	return newList
}
func FilterPtr(f func(*Employer) bool, list []*Employer) []*Employer {
	if f == nil {
		return []*Employer{}
	}
	var newList []*Employer
	for _, v := range list {
		if f(v) {
			newList = append(newList, v)
		}
	}
	return newList
}