hash-tables keys and values should be in order, like maphash
(defunhash-table-keys(table)"Returns a list containing the keys of hash table TABLE."(let((keysnil))(maphash-keys(lambda(k)(pushkkeys))table)(nreversekeys)))(defunhash-table-values(table)"Returns a list containing the values of hash table TABLE."(let((valuesnil))(maphash-values(lambda(v)(pushvvalues))table)(nreversevalues)))(defunhash-table-alist(table)"Returns an association list containing the keys and values of hash tableTABLE."(let((alistnil))(maphash(lambda(kv)(push(conskv)alist))table)(nreversealist)))(defunhash-table-plist(table)"Returns a property list containing the keys and values of hash tableTABLE."(let((plistnil))(maphash(lambda(kv)(pushkplist)(pushvplist))table)(nreverseplist)))