Finding an object in a list?

BlitzMax Forums/BlitzMax Beginners Area/Finding an object in a list?

I have tried playing with TLink() but always get a Null object ..
Global mylist:TList=CreateList()

Type fruit
	Field name$
End Type

Local f:fruit

f=New fruit ; f.name$="apple"  ; ListAddLast mylist,f
f=New fruit ; f.name$="banana" ; ListAddLast mylist,f
f=New fruit ; f.name$="pear"   ; ListAddLast mylist,f
f=New fruit ; f.name$="orange" ; ListAddLast mylist,f
f=New fruit ; f.name$="peach"  ; ListAddLast mylist,f
'DebugStop

f=FindFruit("pear")
If f Print f.name$ Else Print "not found"
End

Function FindFruit:fruit(value:Object)
	Local t:TLink=ListFindLink(mylist,value)
	If t Return fruit(t.value())
End Function