Hmm, right, but that's just a design issue. If pg wanted to simplify the axioms, he could remove hash tables, make alists behave the way I explained and make the syntax foo!x look for the 'x key in the alist 'foo.
Edit : There would be a problem however if we try foo!3 : do we mean the third element, or the element associated to the key 3 ?