hasExplicitCallback = (hook) => {
      return hook
          ? isArray(hook)
              ? hook.some(h => h.length > 1)
              : hook.length > 1
          : false;
  }
Check if a hook expects a callback (2nd arg), which means the user
intends to explicitly control the end of the transition.