Regarding the func argument in set_model_args

Hi everyone,
I am following the parsnip tutorial on how to build custom models:

Regarding the func argument of set_model_args, it is reads:

A function reference for a constructor that will be used to generate tuning parameter values. This should be a character vector with a named element called fun that is the constructor function. There is an optional element pkg that can be used to call the function using its namespace. If referencing functions from the dials package, quantitative parameters can have additional arguments in the list for trans and range while qualitative parameters can pass values via this list.

But when is this function actually called? Most tutorials on tuning parsnip models provide new dials function for each parameter to tune_grid anyway. Is it some kind of default for generating grids?

Also, is it possible to specify model arguments, that are NOT supposed to be tuned at all? For example, I am thinking of a prior, that can be specified to fit the model. Sure, it would be possible to pass it as an engine arg, but what if the prior is even shared between different engines? Passing func = NULL causes parsnip to raise an error.

Thanks for reading!

TL;DR: I don't understand the func argument in set_model_args very well