With children, parents, grandparents, etc.; there can be several "layers" of recursion. Some functions need to evaluate the outer level for a value, if found, they don't need to proceed further. If not found, increment one more level of recursion, etc.
.findModuleName(modList, recursive = 0)
Character vector of modules names
(Nested) Named list of module names
Numeric. The depth of recursion, where 0 is only top level, 1 is 1 level in etc.