   _ origDestData: UnsafeMutableRawBufferPointer,
   _ rootType: Any.Type,
   _ arguments: UnsafeRawPointer
-) {
+) -> (structOffset: UInt32, componentStructList: [Bool]) {
   let destHeaderPtr = origDestData.baseAddress.unsafelyUnwrapped
   var destData = UnsafeMutableRawBufferPointer(
     start: destHeaderPtr.advanced(by: MemoryLayout<Int>.size),

  let (keyPathClass, rootType, size, _)
    = _getKeyPathClassAndInstanceSizeFromPattern(patternPtr, arguments)

  // Allocate the instance.
  let instance = keyPathClass._create(capacityInBytes: size) { instanceData in
    // Instantiate the pattern into the instance.
    _instantiateKeyPathBuffer(patternPtr, instanceData, rootType, arguments)
  }

  // Adopt the KVC string from the pattern.
  let kvcStringBase = patternPtr.advanced(by: 12)

    let mirror = Mirror(reflecting: unwrapType(item))
    let description = mirror.description
    let offsetOfFirstBracketForMirrorDescriptionOfTuple = 11
    let idx = description.index(description.startIndex,
                offsetBy: offsetOfFirstBracketForMirrorDescriptionOfTuple)
    if description[idx] == "(" {
      return true
    }
    return false
  }
    
    @usableFromInline // Exposed as public API by MemoryLayout<Root>.offset(of:)
    internal var _storedInlineOffset: Int? {
      return withBuffer {
