(trace apply) is catastrophic. but this is something one might reasonalby want to do -- trace all instances of apply that are explicit in the user program. perhaps there should be two functions with identical definitions, user:apply and si:apply. then one could (trace user:apply) and it would do the right thing.