diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm index 5fb0ce05f..88e943b75 100644 --- a/module/language/tree-il.scm +++ b/module/language/tree-il.scm @@ -139,9 +139,12 @@ ;; A helper. (define (list->seq loc exps) - (if (null? (cdr exps)) - (car exps) - (make-seq loc (car exps) (list->seq #f (cdr exps))))) + (match exps + ((exp . exps) + (let lp ((head exp) (tail exps)) + (match tail + (() head) + ((exp . tail) (lp (make-seq loc head exp) tail)))))))