> pull out the arguments of these 2 functions An even easier way is as follows as long as your expression won't do funny things if evaluated: accumulate(arg):=list:if not member(arg,list) then list:cons(arg,list); (list:[],ev(subst(accumulate,fresnelg,expr),accumulate),list)