Public Function FindNode(ByVal value As t) As RawrNode(Of t) If FirstNode Is Nothing Then Return Nothing If ListDebug Then Debug.Print("Starting find node...") Dim n As RawrNode(Of t) = FirstNode Dim c As Integer Do c += 1 If ListDebug Then Debug.Print("(" + c.ToString + "/" + Count.ToString + ") Examining node " + n.OID) 'This next line is the problem, because only 'Is' is defined for 't (which could be ANY type), but I need to use '=' if i'm dealing 'with strings because i want to compare the value, and not the 'reference to the value. I can't use = for type t, and it wont 'let me convert type t to type string using either CType(), 'DirectCast() or TryCast(). If n.Value Is value Then If ListDebug Then Debug.Print("found node. exiting") Return n End If If n.NextNode Is Nothing Then If ListDebug Then Debug.Print("no more nodes.. exiting") Return Nothing End If n = n.NextNode Loop Debug.Print("abnormal findnode exit") End Function