This page provides a short overview of the "analysis/construction" predicates.
Do NOT use compound_name_arguments/3 to decompose a dict. Use dict_pairs/3 instead, which is much more adapted to the task.
Here are unit tests that illustrate the behaviour of compound_name_arguments/3: