bugfixes:
    - change function to in place replacement, compose with module_args_copy for 'new clean copy'
    - avoid making multiple 'sub copies' when traversing already 'clean copy' of dict