function_options::nparams is now always correctly initialized, even if no