The Swift Package Index logo.Swift Package Index

Build Information

Failed to build YubiKit, reference v1.4.0 (e19212), with Swift 6.1 for macOS (SPM) on 30 Sep 2026 06:01:26 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[187/211] Compiling YubiKit SourceLocation.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/CBOR/CBOR+Decode.swift:172:17: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[188/211] Compiling YubiKit CBOR+Decode.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/CBOR/CBOR+Decode.swift:172:17: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[189/211] Compiling YubiKit CBOR+Encode.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/CBOR/CBOR+Decode.swift:172:17: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[190/211] Compiling YubiKit CBOR.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/CBOR/CBOR+Decode.swift:172:17: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[191/211] Compiling YubiKit CBORDecodables.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/CBOR/CBOR+Decode.swift:172:17: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
170 |             }
171 |
172 |             let value =
    |                 `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
173 |                 UInt64(data[offset]) << 56
174 |                 | UInt64(data[offset + 1]) << 48
[192/211] Compiling YubiKit Entry.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[193/211] Compiling YubiKit MakeCredentialParameters+CBOR.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[194/211] Compiling YubiKit MakeCredentialParameters.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[195/211] Compiling YubiKit MakeCredentialResponse+CBOR.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[196/211] Compiling YubiKit MakeCredentialResponse.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[197/211] Compiling YubiKit Transport.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[198/211] Compiling YubiKit CBORInterface.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[199/211] Compiling YubiKit FIDOInterface+CBORInterface.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[200/211] Compiling YubiKit FIDOInterface+Commands.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[201/211] Compiling YubiKit FIDOInterface+HIDFraming.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[202/211] Compiling YubiKit FIDOInterface.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[203/211] Compiling YubiKit SmartCardInterface+CBORInterface.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[204/211] Compiling YubiKit CTAP+SessionError.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[205/211] Compiling YubiKit CTAPSession+ClientPIN.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[206/211] Compiling YubiKit CTAPSession+Creation.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[207/211] Compiling YubiKit CTAPSession+GetAssertion.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[208/211] Compiling YubiKit CTAPSession+Interface.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[209/211] Compiling YubiKit CTAPSession+MakeCredential.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[210/211] Compiling YubiKit CTAPSession.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
[211/211] Compiling YubiKit CTAPStatusStream.swift
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:25: error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |                         `- error: type 'O' constrained to non-protocol, non-class type 'Self.Out'
 51 |         command: CTAP2.Command,
 52 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:61:18: error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |                  `- error: type 'I' constrained to non-protocol, non-class type 'Self.In'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:79:15: error: ambiguous use of 'send(command:payload:)'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: found this candidate
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: found this candidate
 62 |         command: CTAP2.Command,
 63 |         payload: I
    :
 77 |         command: CTAP2.Command
 78 |     ) async -> CTAP2.StatusStream<Void> {
 79 |         await send(command: command, payload: nil as CBOR.Value?)
    |               `- error: ambiguous use of 'send(command:payload:)'
 80 |     }
 81 |
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:20:1: error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (HID/USB Transport)
 19 |
 20 | extension FIDOInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'FIDOInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:20:1: error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
 18 | // MARK: - CBORInterface Conformance (NFC/SmartCard Transport)
 19 |
 20 | extension SmartCardInterface: CBORInterface where Error == CTAP2.SessionError {
    | |- error: type 'SmartCardInterface<Error>' does not conform to protocol 'CBORInterface'
    | `- note: add stubs for conformance
 21 |
 22 |     func send<I: In, O: Out>(
    |          |- note: candidate has non-matching type '<Error, I, O> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<O>' [with Error = CTAP2.SessionError]
    |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
 23 |         command: CTAP2.Command,
 24 |         payload: I
    :
 31 |     }
 32 |
 33 |     func send<I: In>(
    |          |- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
    |          `- note: candidate has non-matching type '<Error, I> (command: CTAP2.Command, payload: I) -> CTAP2.StatusStream<Void>' [with Error = CTAP2.SessionError]
 34 |         command: CTAP2.Command,
 35 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Session/CTAPSession+Interface.swift:43:1: error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
41 | // MARK: - CBORInterface Conformance
42 |
43 | extension CTAP2.Session.Interface: CBORInterface {
   | |- error: type 'CTAP2.Session.Interface' does not conform to protocol 'CBORInterface'
   | `- note: add stubs for conformance
44 |     typealias Error = CTAP2.SessionError
45 |
   :
64 |     }
65 |
66 |     func send<I: In, O: Out>(
   |          |- note: candidate has non-matching type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
   |          `- note: candidate would match if 'Void' conformed to 'CBOR.Decodable'
67 |         command: CTAP2.Command,
68 |         payload: I
   :
76 |     }
77 |
78 |     func send<I: In>(
   |          |- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
   |          `- note: candidate has non-matching type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
79 |         command: CTAP2.Command,
80 |         payload: I
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/CBORInterface.swift:50:10: note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 48 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 49 |     /// - Returns: Async sequence of status updates, ending with `.finished(response)` or errors
 50 |     func send<I: In, O: Out>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I, O> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<O>'
 51 |         command: CTAP2.Command,
 52 |         payload: I
    :
 59 |     ///   - payload: CBOR-encodable payload (will be CBOR-encoded)
 60 |     /// - Returns: Async sequence of status updates, ending with `.finished(())`
 61 |     func send<I: In>(
    |          `- note: protocol requires function 'send(command:payload:)' with type '<I> (command: CTAP2.Command, payload: I) async -> CTAP2.StatusStream<Void>'
 62 |         command: CTAP2.Command,
 63 |         payload: I
BUILD FAILURE 6.1 macosSpm