MyList.First() returns an object, not a link, you need to use FirstLink() instead:
Type MyType Field Value:Int End Type Local MyList:TList = CreateList() Local MyStuff:MyType For x = 1 To 5 MyStuff= New MyType MyStuff.Value=x ListAddLast MyList,MyStuff Next FirstLink:TLink = MyList.FirstLink() If TLink(FirstLink) Then Print MyType(FirstLink.Value()).value EndIf NextLink:TLink = FirstLink.NextLink() If TLink(NextLink) Then Print MyType(NextLink.Value()).Value EndIf