Elisp data types are *weird*. Strings with properties, a/plists, symbols with slots, improper lists: fun, but takes some getting used to.