If DSSSL is XSLT's parent, that makes Scheme its grandparent and LISP its great-grandparent. Between XSLT's xsl:function element and its idea of node sequences, I realized that I could implement the classic car and cdr functions that return either the first item or the remainder of a list, respectively. LISP does stand for "LISt Processing," after all, and not "Lots of Irritating Silly Parentheses".