Hello, From the Guile manual ``6.1 Overview of the Guile API'', > For some Scheme functions, some last arguments are optional; the > corresponding C function must always be invoked with all optional > arguments specified. To get the effect as if an argument has not been > specified, pass ‘SCM_UNDEFINED’ as its value. You can not do this for > an argument in the middle; when one argument is ‘SCM_UNDEFINED’ all the > ones following it must be ‘SCM_UNDEFINED’ as well. Therefore, we can check if opt_arg2 has the value SCM_UNDEFINED, to decide if we have received an optional argument. The code is in the attachment: