Have had to do this live in a production MtG card management application. It worked well. The owner kept their MtG card money. Lisp saved the day.