If one (or more) of the input parameters is a list of known length (e.g. you know in advance that it will be exactly 2 elements long), treat this as a "compound data type" above, except that instead of extracting fields of a structure, you extract the first, second, etc. elements of the list. For example,...
Data definition:(Yes, this data structure could have been defined using define-struct instead.)
a name is a list of two symbols (personal-name and family-name respectively).
(define (func-for-name the-name) ... (first the-name) ... ... (second the-name) ...)Note that the order in which the parts occur is not specified -- it may well be more convenient to use (second the-name) before (first the-name) -- and it is possible that you won't need some part of the list at all.