Como passar uma matriz associativa como argumento para uma função no Bash?

Como você passa uma matriz associativa como argumento para uma função? Isso é possível no Bash?

O código abaixo não está funcionando conforme o esperado:

function iterateArray
{
    local ADATA="${@}"            # associative array

for key in "${!ADATA[@]}"
do
    echo "key - ${key}"
    echo "value: ${ADATA[$key]}"

done

}

Passar matrizes associativas para uma função como matrizes normais não funciona:

iterateArray "$A_DATA"

ou

iterateArray "$A_DATA[@]"

questionAnswers(8)

yourAnswerToTheQuestion