
declare dest=$1 cont=( "${@:2}" ) i=-1 src key res
set --

while [[ -v cont[++i] ]] && src=${cont[i]} ; do
 declare -n _src=$src
 for key in "${!)src[@]}" ; do
  res+=\ ${key@Q}
 done
done

declare -ga "${dest:-arr}=\($res\)"
 
