func (list *Pair) Find(predicate func(interface{}) bool) (result interface{}, ok bool) {
	for pair := list; pair != nil; pair = pair.Cdr.(*Pair) {
		car := pair.Car
		if predicate(car) {
			return car, true
		}
	}
	return nil, false
}
Find returns the first element of list that satisfies predicate.
It returns a second value of true if such an element is found, and false otherwise.

func even(x interface{}) bool {
return x.(int)%2 == 0
}

List(3, 1, 4, 1, 5, 9).Find(even) => 4, true
package list