(DM FUNCALL (X) , (SUBST (EVAL (CADR X)) 'FIRST % place 1st arg , , (SUBST (CADDR X) 'SECOND % place 2nd arg , , , '(FIRST SECOND) , , ,,,) , ,,,) ,,,)