I did this a while back, hope it helps.
http://www.blitzbasic.com/codearcs/codearcs.php?code=1807
it allows
if howMany is -1 then it will continue to the end or the begining as in the case of ReverseFrom.
http://www.blitzbasic.com/codearcs/codearcs.php?code=1807
it allows
local list:TListF = new TListF for blah:yourtype = eachin list.From(start:TLink,howMany:int=-1)or
for blah:yourtype = eachin list.ReverseFrom(start:TLink,howMany:int=-1)or
for blah:TLink = eachin list.LinksFrom(start:TLink,howMany:int=-1)
if howMany is -1 then it will continue to the end or the begining as in the case of ReverseFrom.