Also, for 'arglist-frees - from what I can hack, it tries to extract used variables in argument lists for optional arguments. So for example, your intent is that:
(arglist-frees '(x (o y (some-var))))
=> (some-var)
However, to extract the subexpression, you use car:cdar. I don't understand why.