     endOfReferencePrefixComponent.storeBytes(of: componentHeader,
       as: RawKeyPathComponent.Header.self)
   }
+  return (walker.structOffset, walker.isPureStruct)
 }
 
 #if SWIFT_ENABLE_REFLECTION

/// Note: Currently we only distinguish between keypaths that traverse only structs to get to the final value,
/// and all other types. This is done for performance reasons.
/// Other type information may be handled in the future to improve performance.
internal func _processAppendingKeyPathType(root: inout AnyKeyPath, leaf: AnyKeyPath) {
  root._isPureStructKeyPath = root.isPureStructKeyPath && leaf.isPureStructKeyPath
  if let isPureStruct = root._isPureStructKeyPath, isPureStruct {
    root._computeOffsetForPureStructKeypath()
  }
}


    }
    return _openExistential(rootValue, do: open2)
  }
  var returnValue: AnyKeyPath = _openExistential(rootRoot, do: open)
  _processOffsetForAppendedKeyPath(appendedKeyPath: &returnValue, root: root, leaf: leaf)
  if let returnValue = returnValue as? Result {
    return returnValue
  }
  return nil
}
