(defmeth basket add-to (me product quantity) (labels ((insert (lines) (tree-case lines ((line . rest) (if (equal line.product-sku product.sku) (cons (build-line product (+ line.quantity quantity)) rest) (cons line (insert rest)))) (() (list (build-line product quantity)))))) (new basket lines (insert me.lines))))