EIP-2930 access lists are not of the format
{address:[storageKeys]}
They are of the format
[(address,[storageKeys])]
So your spec should describe how the key lists concatenate to form your index scheme, and how duplicates are handled. Transactions are gas-penalized for being structured this way but it is allowed and so the behavior must be defined.