I think that position-if should then be written in lisp, if that will improve the speed of your code. Here is a good example of a function that is based on the internal representation of maxima objects and would be useful to a larger audience. Add this function, document it and provide a test suite, and we all benefit. Dan Stanger