docs: async function fullyResolved(value) {
    value = await Promise.resolve(value);
    if (Array.isArray(value)) {
      return fullyResolveKeys(/** @type {!Array} */ (value));
    }
  
    if (value && typeof value === 'object') {
      return fullyResolveKeys(/** @type {!Object} */ (value));
    }
  
    if (typeof value === 'function') {
      return fullyResolveKeys(/** @type {!Object} */ (value));
    }
  
    return value;
  }