docs: private static boolean functionMatches(FunctionDescriptor existingFd,
                                             Type returnType,
                                             Type[] parameterTypes) {
          if (returnType != existingFd.m_type) {
              return false;
          }
          if (parameterTypes.length != existingFd.m_paramTypes.length) {
              return false;
          }
          for (int idx = 0; idx < parameterTypes.length; idx++) {
              if (parameterTypes[idx] != existingFd.m_paramTypes[idx]) {
                  return false;
              }
          }
          return true;
      }