Simplify/clarify some defs, update README.md
list_seats: Refactor using recursion