FWIW, the version I have in my own lib is: unique(List) -> lists:reverse( lists:foldl( fun(X,Acc) -> accumulate_unless(lists:member(X,Acc),X,Acc) end, [], List)). accumulate_unless(true, _X, Acc) -> Acc; accumulate_unless(false, X, Acc) -> [X|Acc]. Regards, Dominic Williams http://www.dominicwilliams.net ----