code: function dynamicFnReducer(dynamicFns, argPath) {
    if (!argPath || !argPath.node) {
      return dynamicFns
    }
    if (isDynamicFunctionWithTheme(argPath)) {
      dynamicFns.push(argPath)
    } else if (argPath.isArrayExpression()) {
      argPath.get('elements').forEach(element => {
        dynamicFnReducer(dynamicFns, element)
      })
    } else if (argPath.isIdentifier()) {
      // try to track the initialization of this identifier and update that
      // if it's a function
      const binding = argPath.scope.getBinding(argPath.node.name)
      if (!binding || !binding.path) {
        // global variable referenced
        return dynamicFns
      }
      let initPath = binding.path
      if (initPath.isVariableDeclarator()) {
        // could be an assignment to an object, array, or function
        initPath = initPath.get('init')
      }
      dynamicFnReducer(dynamicFns, initPath)
    }
    return dynamicFns
  }
docs: eslint-disable-next-line complexity