Check arguments and override default values.
If a named list, arguments, is provided by the user,
it will override any default value.
If one of the argument is provided directly,
it will take precedence over the values in arguments, provided it is not a default value.
check_arguments(func, call, arguments = NULL)a named list with all arguments
function whose parameters are to be superseded
user call, obtained from match.call(expand.dots = FALSE)
named list with arguments