dictionary_sugar_get_safe: A Quick Way to Initialize Objects from Dictionaries
Description
Given a Dictionary, retrieve objects with provided keys.
dictionary_sugar_get_safe() to retrieve a single object with key .key.
dictionary_sugar_mget_safe() to retrieve a list of objects with keys .keys.
If .key or .keys is missing, the dictionary itself is returned.
Dictionary getters without the _safe suffix are discouraged as this sometimes caused unintended partial
argument matching.
Arguments in ... must be named and are consumed in the following order:
All arguments whose names match the name of an argument of the constructor
are passed to the $get() method of the Dictionary for construction.
All arguments whose names match the name of a parameter of the paradox::ParamSet of the
constructed object are set as parameters. If there is no paradox::ParamSet in obj$param_set, this
step is skipped.
All remaining arguments are assumed to be regular fields of the constructed R6 instance, and
are assigned via <-.