This is copied directly from the key-listing clause below it.  I really with that erlang allowed conjunctions in it's pattern-matching, it'd simplify a lot of code.  But the, I wish a lot of things about erlang.  I'll see if I can make both of them a bit cleaner.