The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of MusicTheory, reference 1.3.1 (c98ffa), with Swift 6.1 for Linux on 27 Apr 2025 17:50:11 UTC.

Swift 6 data race errors: 132

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

    |                     |- warning: static property 'shouldUseDoubleFlatAndDoubleSharpNotation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'shouldUseDoubleFlatAndDoubleSharpNotation' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'shouldUseDoubleFlatAndDoubleSharpNotation' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 |   // MARK: RawRepresentable
[11/14] Compiling MusicTheory Chord.swift
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:112:21: warning: static property 'flat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
110 |
111 |   /// Reduces the `Key` or `Pitch` value one halfstep below.
112 |   public static let flat: Accidental = .flats(amount: 1)
    |                     |- warning: static property 'flat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'flat' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |   /// Increases the `Key` or `Pitch` value one halfstep above.
114 |   public static let sharp: Accidental = .sharps(amount: 1)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:114:21: warning: static property 'sharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
112 |   public static let flat: Accidental = .flats(amount: 1)
113 |   /// Increases the `Key` or `Pitch` value one halfstep above.
114 |   public static let sharp: Accidental = .sharps(amount: 1)
    |                     |- warning: static property 'sharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'sharp' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |   /// Reduces the `Key` or `Pitch` value amount two halfsteps below.
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:116:21: warning: static property 'doubleFlat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
114 |   public static let sharp: Accidental = .sharps(amount: 1)
115 |   /// Reduces the `Key` or `Pitch` value amount two halfsteps below.
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
    |                     |- warning: static property 'doubleFlat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'doubleFlat' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |   /// Increases the `Key` or `Pitch` value two halfsteps above.
118 |   public static let doubleSharp: Accidental = .sharps(amount: 2)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:118:21: warning: static property 'doubleSharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
117 |   /// Increases the `Key` or `Pitch` value two halfsteps above.
118 |   public static let doubleSharp: Accidental = .sharps(amount: 2)
    |                     |- warning: static property 'doubleSharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'doubleSharp' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 |
120 |   /// A flag for `description` function that determines if it should use double sharp and double flat symbols.
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:122:21: warning: static property 'shouldUseDoubleFlatAndDoubleSharpNotation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |   /// A flag for `description` function that determines if it should use double sharp and double flat symbols.
121 |   /// It's useful to set it false where the fonts do not support that symbols. Defaults true.
122 |   public static var shouldUseDoubleFlatAndDoubleSharpNotation = true
    |                     |- warning: static property 'shouldUseDoubleFlatAndDoubleSharpNotation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'shouldUseDoubleFlatAndDoubleSharpNotation' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'shouldUseDoubleFlatAndDoubleSharpNotation' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 |   // MARK: RawRepresentable
[12/14] Emitting module MusicTheory
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:112:21: warning: static property 'flat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
110 |
111 |   /// Reduces the `Key` or `Pitch` value one halfstep below.
112 |   public static let flat: Accidental = .flats(amount: 1)
    |                     |- warning: static property 'flat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'flat' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |   /// Increases the `Key` or `Pitch` value one halfstep above.
114 |   public static let sharp: Accidental = .sharps(amount: 1)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:114:21: warning: static property 'sharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
112 |   public static let flat: Accidental = .flats(amount: 1)
113 |   /// Increases the `Key` or `Pitch` value one halfstep above.
114 |   public static let sharp: Accidental = .sharps(amount: 1)
    |                     |- warning: static property 'sharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'sharp' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |   /// Reduces the `Key` or `Pitch` value amount two halfsteps below.
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:116:21: warning: static property 'doubleFlat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
114 |   public static let sharp: Accidental = .sharps(amount: 1)
115 |   /// Reduces the `Key` or `Pitch` value amount two halfsteps below.
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
    |                     |- warning: static property 'doubleFlat' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'doubleFlat' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |   /// Increases the `Key` or `Pitch` value two halfsteps above.
118 |   public static let doubleSharp: Accidental = .sharps(amount: 2)
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:118:21: warning: static property 'doubleSharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
101 |
102 | /// The enum used for calculating values of the `Key`s and `Pitche`s.
103 | public enum Accidental: Codable, Equatable, Hashable, RawRepresentable, ExpressibleByIntegerLiteral, ExpressibleByStringLiteral, CustomStringConvertible {
    |             `- note: consider making enum 'Accidental' conform to the 'Sendable' protocol
104 |   /// No accidental.
105 |   case natural
    :
116 |   public static let doubleFlat: Accidental = .flats(amount: 2)
117 |   /// Increases the `Key` or `Pitch` value two halfsteps above.
118 |   public static let doubleSharp: Accidental = .sharps(amount: 2)
    |                     |- warning: static property 'doubleSharp' is not concurrency-safe because non-'Sendable' type 'Accidental' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'doubleSharp' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 |
120 |   /// A flag for `description` function that determines if it should use double sharp and double flat symbols.
/host/spi-builder-workspace/Sources/MusicTheory/Accidental.swift:122:21: warning: static property 'shouldUseDoubleFlatAndDoubleSharpNotation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |   /// A flag for `description` function that determines if it should use double sharp and double flat symbols.
121 |   /// It's useful to set it false where the fonts do not support that symbols. Defaults true.
122 |   public static var shouldUseDoubleFlatAndDoubleSharpNotation = true
    |                     |- warning: static property 'shouldUseDoubleFlatAndDoubleSharpNotation' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'shouldUseDoubleFlatAndDoubleSharpNotation' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: add '@MainActor' to make static property 'shouldUseDoubleFlatAndDoubleSharpNotation' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 |
124 |   // MARK: RawRepresentable
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:62:21: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[ChordProgressionNode]' may have shared mutable state; this is an error in the Swift 6 language mode
 23 |
 24 | /// A node of chord progression in intervals.
 25 | public enum ChordProgressionNode: Int, CustomStringConvertible, Codable, Hashable {
    |             `- note: consider making enum 'ChordProgressionNode' conform to the 'Sendable' protocol
 26 |   /// First-degree node
 27 |   case i
    :
 60 |
 61 |   /// All nodes.
 62 |   public static let all: [ChordProgressionNode] = [.i, .ii, .iii, .iv, .v, .vi, .vii]
    |                     |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[ChordProgressionNode]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |
 64 |   // MARK: CustomStringConvertible
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:83:21: warning: static property 'allNodes' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    |                     |- warning: static property 'allNodes' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'allNodes' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 84 |   /// I - V - VI - IV progression.
 85 |   public static let i_v_vi_iv = ChordProgression(nodes: [.i, .v, .vi, .iv])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:85:21: warning: static property 'i_v_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
 84 |   /// I - V - VI - IV progression.
 85 |   public static let i_v_vi_iv = ChordProgression(nodes: [.i, .v, .vi, .iv])
    |                     |- warning: static property 'i_v_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_v_vi_iv' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 86 |   /// VI - V - IV - V progression.
 87 |   public static let vi_v_iv_v = ChordProgression(nodes: [.vi, .v, .iv, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:87:21: warning: static property 'vi_v_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 85 |   public static let i_v_vi_iv = ChordProgression(nodes: [.i, .v, .vi, .iv])
 86 |   /// VI - V - IV - V progression.
 87 |   public static let vi_v_iv_v = ChordProgression(nodes: [.vi, .v, .iv, .v])
    |                     |- warning: static property 'vi_v_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'vi_v_iv_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 88 |   /// I - VI - IV - V progression.
 89 |   public static let i_vi_iv_v = ChordProgression(nodes: [.i, .vi, .iv, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:89:21: warning: static property 'i_vi_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 87 |   public static let vi_v_iv_v = ChordProgression(nodes: [.vi, .v, .iv, .v])
 88 |   /// I - VI - IV - V progression.
 89 |   public static let i_vi_iv_v = ChordProgression(nodes: [.i, .vi, .iv, .v])
    |                     |- warning: static property 'i_vi_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_vi_iv_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |   /// I - IV - VI - V progression.
 91 |   public static let i_iv_vi_v = ChordProgression(nodes: [.i, .iv, .vi, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:91:21: warning: static property 'i_iv_vi_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 89 |   public static let i_vi_iv_v = ChordProgression(nodes: [.i, .vi, .iv, .v])
 90 |   /// I - IV - VI - V progression.
 91 |   public static let i_iv_vi_v = ChordProgression(nodes: [.i, .iv, .vi, .v])
    |                     |- warning: static property 'i_iv_vi_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_iv_vi_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 92 |   /// I - V - IV - V progression.
 93 |   public static let i_v_iv_v = ChordProgression(nodes: [.i, .v, .iv, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:93:21: warning: static property 'i_v_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 91 |   public static let i_iv_vi_v = ChordProgression(nodes: [.i, .iv, .vi, .v])
 92 |   /// I - V - IV - V progression.
 93 |   public static let i_v_iv_v = ChordProgression(nodes: [.i, .v, .iv, .v])
    |                     |- warning: static property 'i_v_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_v_iv_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 94 |   /// VI - II - V - I progression.
 95 |   public static let vi_ii_v_i = ChordProgression(nodes: [.vi, .ii, .v, .i])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:95:21: warning: static property 'vi_ii_v_i' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 93 |   public static let i_v_iv_v = ChordProgression(nodes: [.i, .v, .iv, .v])
 94 |   /// VI - II - V - I progression.
 95 |   public static let vi_ii_v_i = ChordProgression(nodes: [.vi, .ii, .v, .i])
    |                     |- warning: static property 'vi_ii_v_i' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'vi_ii_v_i' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 96 |   /// I - VI - II - V progression.
 97 |   public static let i_vi_ii_v = ChordProgression(nodes: [.i, .vi, .ii, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:97:21: warning: static property 'i_vi_ii_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 95 |   public static let vi_ii_v_i = ChordProgression(nodes: [.vi, .ii, .v, .i])
 96 |   /// I - VI - II - V progression.
 97 |   public static let i_vi_ii_v = ChordProgression(nodes: [.i, .vi, .ii, .v])
    |                     |- warning: static property 'i_vi_ii_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_vi_ii_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 98 |   /// I - IV - II - V progression.
 99 |   public static let i_iv_ii_v = ChordProgression(nodes: [.i, .iv, .ii, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:99:21: warning: static property 'i_iv_ii_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 97 |   public static let i_vi_ii_v = ChordProgression(nodes: [.i, .vi, .ii, .v])
 98 |   /// I - IV - II - V progression.
 99 |   public static let i_iv_ii_v = ChordProgression(nodes: [.i, .iv, .ii, .v])
    |                     |- warning: static property 'i_iv_ii_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_iv_ii_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 |   /// VI - IV - I - V progression.
101 |   public static let vi_iv_i_v = ChordProgression(nodes: [.vi, .iv, .i, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:101:21: warning: static property 'vi_iv_i_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
 99 |   public static let i_iv_ii_v = ChordProgression(nodes: [.i, .iv, .ii, .v])
100 |   /// VI - IV - I - V progression.
101 |   public static let vi_iv_i_v = ChordProgression(nodes: [.vi, .iv, .i, .v])
    |                     |- warning: static property 'vi_iv_i_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'vi_iv_i_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 |   /// I - VI - III - VII progression.
103 |   public static let i_vi_iii_vii = ChordProgression(nodes: [.i, .vi, .iii, .vii])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:103:21: warning: static property 'i_vi_iii_vii' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
101 |   public static let vi_iv_i_v = ChordProgression(nodes: [.vi, .iv, .i, .v])
102 |   /// I - VI - III - VII progression.
103 |   public static let i_vi_iii_vii = ChordProgression(nodes: [.i, .vi, .iii, .vii])
    |                     |- warning: static property 'i_vi_iii_vii' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_vi_iii_vii' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
104 |   /// VI - V - IV - III progression.
105 |   public static let vi_v_iv_iii = ChordProgression(nodes: [.vi, .v, .iv, .iii])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:105:21: warning: static property 'vi_v_iv_iii' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
103 |   public static let i_vi_iii_vii = ChordProgression(nodes: [.i, .vi, .iii, .vii])
104 |   /// VI - V - IV - III progression.
105 |   public static let vi_v_iv_iii = ChordProgression(nodes: [.vi, .v, .iv, .iii])
    |                     |- warning: static property 'vi_v_iv_iii' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'vi_v_iv_iii' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 |   /// I - V - VI - III - IV - I - IV - V progression.
107 |   public static let i_v_vi_iii_iv_i_iv_v = ChordProgression(nodes: [.i, .v, .vi, .iii, .iv, .i, .iv, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:107:21: warning: static property 'i_v_vi_iii_iv_i_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
105 |   public static let vi_v_iv_iii = ChordProgression(nodes: [.vi, .v, .iv, .iii])
106 |   /// I - V - VI - III - IV - I - IV - V progression.
107 |   public static let i_v_vi_iii_iv_i_iv_v = ChordProgression(nodes: [.i, .v, .vi, .iii, .iv, .i, .iv, .v])
    |                     |- warning: static property 'i_v_vi_iii_iv_i_iv_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_v_vi_iii_iv_i_iv_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
108 |   /// IV - I - V - IV progression.
109 |   public static let iv_i_v_iv = ChordProgression(nodes: [.iv, .i, .v, .iv])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:109:21: warning: static property 'iv_i_v_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
107 |   public static let i_v_vi_iii_iv_i_iv_v = ChordProgression(nodes: [.i, .v, .vi, .iii, .iv, .i, .iv, .v])
108 |   /// IV - I - V - IV progression.
109 |   public static let iv_i_v_iv = ChordProgression(nodes: [.iv, .i, .v, .iv])
    |                     |- warning: static property 'iv_i_v_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'iv_i_v_iv' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 |   /// I - II - VI - IV progression.
111 |   public static let i_ii_vi_iv = ChordProgression(nodes: [.i, .ii, .vi, .iv])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:111:21: warning: static property 'i_ii_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
109 |   public static let iv_i_v_iv = ChordProgression(nodes: [.iv, .i, .v, .iv])
110 |   /// I - II - VI - IV progression.
111 |   public static let i_ii_vi_iv = ChordProgression(nodes: [.i, .ii, .vi, .iv])
    |                     |- warning: static property 'i_ii_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_ii_vi_iv' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |   /// I - III - VI - IV progression.
113 |   public static let i_iii_vi_iv = ChordProgression(nodes: [.i, .iii, .vi, .iv])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:113:21: warning: static property 'i_iii_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
111 |   public static let i_ii_vi_iv = ChordProgression(nodes: [.i, .ii, .vi, .iv])
112 |   /// I - III - VI - IV progression.
113 |   public static let i_iii_vi_iv = ChordProgression(nodes: [.i, .iii, .vi, .iv])
    |                     |- warning: static property 'i_iii_vi_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_iii_vi_iv' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 |   /// I - V - II - IV progression.
115 |   public static let i_v_ii_iv = ChordProgression(nodes: [.i, .v, .ii, .iv])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:115:21: warning: static property 'i_v_ii_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
113 |   public static let i_iii_vi_iv = ChordProgression(nodes: [.i, .iii, .vi, .iv])
114 |   /// I - V - II - IV progression.
115 |   public static let i_v_ii_iv = ChordProgression(nodes: [.i, .v, .ii, .iv])
    |                     |- warning: static property 'i_v_ii_iv' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'i_v_ii_iv' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
116 |   /// II - IV - I - V progression.
117 |   public static let ii_iv_i_v = ChordProgression(nodes: [.ii, .iv, .i, .v])
/host/spi-builder-workspace/Sources/MusicTheory/ChordProgression.swift:117:21: warning: static property 'ii_iv_i_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
 79 |
 80 | /// Chord progression enum that you can create hard-coded and custom progressions.
 81 | public struct ChordProgression: CustomStringConvertible, Codable, Hashable {
    |               `- note: consider making struct 'ChordProgression' conform to the 'Sendable' protocol
 82 |   /// All nodes from first to seventh.
 83 |   public static let allNodes = ChordProgression(nodes: [.i, .ii, .iii, .iv, .v, .vi, .vii])
    :
115 |   public static let i_v_ii_iv = ChordProgression(nodes: [.i, .v, .ii, .iv])
116 |   /// II - IV - I - V progression.
117 |   public static let ii_iv_i_v = ChordProgression(nodes: [.ii, .iv, .i, .v])
    |                     |- warning: static property 'ii_iv_i_v' is not concurrency-safe because non-'Sendable' type 'ChordProgression' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'ii_iv_i_v' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |
119 |   public let nodes: [ChordProgressionNode]
/host/spi-builder-workspace/Sources/MusicTheory/HarmonicFunctions.swift:29:21: warning: static property 'tonicProlongationFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents harmonic functions in music theory.
12 | public enum HarmonicFunctionType: Int, Codable, CaseIterable {
   |             `- note: consider making enum 'HarmonicFunctionType' conform to the 'Sendable' protocol
13 |   /// First interval/chord. I in roman numeral.
14 |   case tonic
   :
27 |
28 |   /// Represents tonic prolongation functions.
29 |   public static let tonicProlongationFunctions: [HarmonicFunctionType] = [.mediant, .submediant]
   |                     |- warning: static property 'tonicProlongationFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'tonicProlongationFunctions' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 |   /// Represents the pre dominant functions.
/host/spi-builder-workspace/Sources/MusicTheory/HarmonicFunctions.swift:32:21: warning: static property 'predominantFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents harmonic functions in music theory.
12 | public enum HarmonicFunctionType: Int, Codable, CaseIterable {
   |             `- note: consider making enum 'HarmonicFunctionType' conform to the 'Sendable' protocol
13 |   /// First interval/chord. I in roman numeral.
14 |   case tonic
   :
30 |
31 |   /// Represents the pre dominant functions.
32 |   public static let predominantFunctions: [HarmonicFunctionType] = [.supertonic, .submediant]
   |                     |- warning: static property 'predominantFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'predominantFunctions' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 |   /// Represents the dominant functions
/host/spi-builder-workspace/Sources/MusicTheory/HarmonicFunctions.swift:35:21: warning: static property 'dominantFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Represents harmonic functions in music theory.
12 | public enum HarmonicFunctionType: Int, Codable, CaseIterable {
   |             `- note: consider making enum 'HarmonicFunctionType' conform to the 'Sendable' protocol
13 |   /// First interval/chord. I in roman numeral.
14 |   case tonic
   :
33 |
34 |   /// Represents the dominant functions
35 |   public static let dominantFunctions: [HarmonicFunctionType] = [.dominant, .leading]
   |                     |- warning: static property 'dominantFunctions' is not concurrency-safe because non-'Sendable' type '[HarmonicFunctionType]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'dominantFunctions' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 |   /// Represents the possible direction from any harmonic function.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:91:21: warning: static property 'P1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 89 |
 90 |   /// Unison.
 91 |   public static let P1 = Interval(quality: .perfect, degree: 1, semitones: 0)
    |                     |- warning: static property 'P1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P1' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 92 |   /// Perfect fourth.
 93 |   public static let P4 = Interval(quality: .perfect, degree: 4, semitones: 5)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:93:21: warning: static property 'P4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 91 |   public static let P1 = Interval(quality: .perfect, degree: 1, semitones: 0)
 92 |   /// Perfect fourth.
 93 |   public static let P4 = Interval(quality: .perfect, degree: 4, semitones: 5)
    |                     |- warning: static property 'P4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P4' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 94 |   /// Perfect fifth.
 95 |   public static let P5 = Interval(quality: .perfect, degree: 5, semitones: 7)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:95:21: warning: static property 'P5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 93 |   public static let P4 = Interval(quality: .perfect, degree: 4, semitones: 5)
 94 |   /// Perfect fifth.
 95 |   public static let P5 = Interval(quality: .perfect, degree: 5, semitones: 7)
    |                     |- warning: static property 'P5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P5' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 96 |   /// Octave.
 97 |   public static let P8 = Interval(quality: .perfect, degree: 8, semitones: 12)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:97:21: warning: static property 'P8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 95 |   public static let P5 = Interval(quality: .perfect, degree: 5, semitones: 7)
 96 |   /// Octave.
 97 |   public static let P8 = Interval(quality: .perfect, degree: 8, semitones: 12)
    |                     |- warning: static property 'P8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P8' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 98 |   /// Perfect eleventh.
 99 |   public static let P11 = Interval(quality: .perfect, degree: 11, semitones: 17)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:99:21: warning: static property 'P11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 97 |   public static let P8 = Interval(quality: .perfect, degree: 8, semitones: 12)
 98 |   /// Perfect eleventh.
 99 |   public static let P11 = Interval(quality: .perfect, degree: 11, semitones: 17)
    |                     |- warning: static property 'P11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P11' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 |   /// Perfect twelfth.
101 |   public static let P12 = Interval(quality: .perfect, degree: 12, semitones: 19)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:101:21: warning: static property 'P12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
 99 |   public static let P11 = Interval(quality: .perfect, degree: 11, semitones: 17)
100 |   /// Perfect twelfth.
101 |   public static let P12 = Interval(quality: .perfect, degree: 12, semitones: 19)
    |                     |- warning: static property 'P12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P12' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 |   /// Perfect fifteenth, double octave.
103 |   public static let P15 = Interval(quality: .perfect, degree: 15, semitones: 24)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:103:21: warning: static property 'P15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
101 |   public static let P12 = Interval(quality: .perfect, degree: 12, semitones: 19)
102 |   /// Perfect fifteenth, double octave.
103 |   public static let P15 = Interval(quality: .perfect, degree: 15, semitones: 24)
    |                     |- warning: static property 'P15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'P15' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
104 |
105 |   /// Minor second.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:106:21: warning: static property 'm2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
104 |
105 |   /// Minor second.
106 |   public static let m2 = Interval(quality: .minor, degree: 2, semitones: 1)
    |                     |- warning: static property 'm2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm2' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |   /// Minor third.
108 |   public static let m3 = Interval(quality: .minor, degree: 3, semitones: 3)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:108:21: warning: static property 'm3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
106 |   public static let m2 = Interval(quality: .minor, degree: 2, semitones: 1)
107 |   /// Minor third.
108 |   public static let m3 = Interval(quality: .minor, degree: 3, semitones: 3)
    |                     |- warning: static property 'm3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm3' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |   /// Minor sixth.
110 |   public static let m6 = Interval(quality: .minor, degree: 6, semitones: 8)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:110:21: warning: static property 'm6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
108 |   public static let m3 = Interval(quality: .minor, degree: 3, semitones: 3)
109 |   /// Minor sixth.
110 |   public static let m6 = Interval(quality: .minor, degree: 6, semitones: 8)
    |                     |- warning: static property 'm6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm6' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |   /// Minor seventh.
112 |   public static let m7 = Interval(quality: .minor, degree: 7, semitones: 10)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:112:21: warning: static property 'm7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
110 |   public static let m6 = Interval(quality: .minor, degree: 6, semitones: 8)
111 |   /// Minor seventh.
112 |   public static let m7 = Interval(quality: .minor, degree: 7, semitones: 10)
    |                     |- warning: static property 'm7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm7' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |   /// Minor ninth.
114 |   public static let m9 = Interval(quality: .minor, degree: 9, semitones: 13)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:114:21: warning: static property 'm9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
112 |   public static let m7 = Interval(quality: .minor, degree: 7, semitones: 10)
113 |   /// Minor ninth.
114 |   public static let m9 = Interval(quality: .minor, degree: 9, semitones: 13)
    |                     |- warning: static property 'm9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm9' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |   /// Minor tenth.
116 |   public static let m10 = Interval(quality: .minor, degree: 10, semitones: 15)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:116:21: warning: static property 'm10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
114 |   public static let m9 = Interval(quality: .minor, degree: 9, semitones: 13)
115 |   /// Minor tenth.
116 |   public static let m10 = Interval(quality: .minor, degree: 10, semitones: 15)
    |                     |- warning: static property 'm10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm10' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |   /// Minor thirteenth.
118 |   public static let m13 = Interval(quality: .minor, degree: 13, semitones: 20)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:118:21: warning: static property 'm13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
116 |   public static let m10 = Interval(quality: .minor, degree: 10, semitones: 15)
117 |   /// Minor thirteenth.
118 |   public static let m13 = Interval(quality: .minor, degree: 13, semitones: 20)
    |                     |- warning: static property 'm13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm13' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 |   /// Minor fourteenth.
120 |   public static let m14 = Interval(quality: .minor, degree: 14, semitones: 22)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:120:21: warning: static property 'm14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
118 |   public static let m13 = Interval(quality: .minor, degree: 13, semitones: 20)
119 |   /// Minor fourteenth.
120 |   public static let m14 = Interval(quality: .minor, degree: 14, semitones: 22)
    |                     |- warning: static property 'm14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'm14' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 |   /// Major second.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:123:21: warning: static property 'M2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
121 |
122 |   /// Major second.
123 |   public static let M2 = Interval(quality: .major, degree: 2, semitones: 2)
    |                     |- warning: static property 'M2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M2' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |   /// Major third.
125 |   public static let M3 = Interval(quality: .major, degree: 3, semitones: 4)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:125:21: warning: static property 'M3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
123 |   public static let M2 = Interval(quality: .major, degree: 2, semitones: 2)
124 |   /// Major third.
125 |   public static let M3 = Interval(quality: .major, degree: 3, semitones: 4)
    |                     |- warning: static property 'M3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M3' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
126 |   /// Major sixth.
127 |   public static let M6 = Interval(quality: .major, degree: 6, semitones: 9)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:127:21: warning: static property 'M6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
125 |   public static let M3 = Interval(quality: .major, degree: 3, semitones: 4)
126 |   /// Major sixth.
127 |   public static let M6 = Interval(quality: .major, degree: 6, semitones: 9)
    |                     |- warning: static property 'M6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M6' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 |   /// Major seventh.
129 |   public static let M7 = Interval(quality: .major, degree: 7, semitones: 11)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:129:21: warning: static property 'M7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
127 |   public static let M6 = Interval(quality: .major, degree: 6, semitones: 9)
128 |   /// Major seventh.
129 |   public static let M7 = Interval(quality: .major, degree: 7, semitones: 11)
    |                     |- warning: static property 'M7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M7' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |   /// Major ninth.
131 |   public static let M9 = Interval(quality: .major, degree: 9, semitones: 14)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:131:21: warning: static property 'M9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
129 |   public static let M7 = Interval(quality: .major, degree: 7, semitones: 11)
130 |   /// Major ninth.
131 |   public static let M9 = Interval(quality: .major, degree: 9, semitones: 14)
    |                     |- warning: static property 'M9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M9' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
132 |   /// Major tenth.
133 |   public static let M10 = Interval(quality: .major, degree: 10, semitones: 16)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:133:21: warning: static property 'M10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
131 |   public static let M9 = Interval(quality: .major, degree: 9, semitones: 14)
132 |   /// Major tenth.
133 |   public static let M10 = Interval(quality: .major, degree: 10, semitones: 16)
    |                     |- warning: static property 'M10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M10' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |   /// Major thirteenth.
135 |   public static let M13 = Interval(quality: .major, degree: 13, semitones: 21)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:135:21: warning: static property 'M13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
133 |   public static let M10 = Interval(quality: .major, degree: 10, semitones: 16)
134 |   /// Major thirteenth.
135 |   public static let M13 = Interval(quality: .major, degree: 13, semitones: 21)
    |                     |- warning: static property 'M13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M13' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 |   /// Major fourteenth.
137 |   public static let M14 = Interval(quality: .major, degree: 14, semitones: 23)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:137:21: warning: static property 'M14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
135 |   public static let M13 = Interval(quality: .major, degree: 13, semitones: 21)
136 |   /// Major fourteenth.
137 |   public static let M14 = Interval(quality: .major, degree: 14, semitones: 23)
    |                     |- warning: static property 'M14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'M14' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 |   /// Diminished first.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:140:21: warning: static property 'd1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
138 |
139 |   /// Diminished first.
140 |   public static let d1 = Interval(quality: .diminished, degree: 1, semitones: -1)
    |                     |- warning: static property 'd1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd1' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
141 |   /// Diminished second.
142 |   public static let d2 = Interval(quality: .diminished, degree: 2, semitones: 0)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:142:21: warning: static property 'd2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
140 |   public static let d1 = Interval(quality: .diminished, degree: 1, semitones: -1)
141 |   /// Diminished second.
142 |   public static let d2 = Interval(quality: .diminished, degree: 2, semitones: 0)
    |                     |- warning: static property 'd2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd2' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |   /// Diminished third.
144 |   public static let d3 = Interval(quality: .diminished, degree: 3, semitones: 2)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:144:21: warning: static property 'd3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
142 |   public static let d2 = Interval(quality: .diminished, degree: 2, semitones: 0)
143 |   /// Diminished third.
144 |   public static let d3 = Interval(quality: .diminished, degree: 3, semitones: 2)
    |                     |- warning: static property 'd3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd3' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
145 |   /// Diminished fourth.
146 |   public static let d4 = Interval(quality: .diminished, degree: 4, semitones: 4)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:146:21: warning: static property 'd4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
144 |   public static let d3 = Interval(quality: .diminished, degree: 3, semitones: 2)
145 |   /// Diminished fourth.
146 |   public static let d4 = Interval(quality: .diminished, degree: 4, semitones: 4)
    |                     |- warning: static property 'd4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd4' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |   /// Diminished fifth.
148 |   public static let d5 = Interval(quality: .diminished, degree: 5, semitones: 6)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:148:21: warning: static property 'd5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
146 |   public static let d4 = Interval(quality: .diminished, degree: 4, semitones: 4)
147 |   /// Diminished fifth.
148 |   public static let d5 = Interval(quality: .diminished, degree: 5, semitones: 6)
    |                     |- warning: static property 'd5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd5' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
149 |   /// Diminished sixth.
150 |   public static let d6 = Interval(quality: .diminished, degree: 6, semitones: 7)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:150:21: warning: static property 'd6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
148 |   public static let d5 = Interval(quality: .diminished, degree: 5, semitones: 6)
149 |   /// Diminished sixth.
150 |   public static let d6 = Interval(quality: .diminished, degree: 6, semitones: 7)
    |                     |- warning: static property 'd6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd6' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
151 |   /// Diminished seventh.
152 |   public static let d7 = Interval(quality: .diminished, degree: 7, semitones: 9)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:152:21: warning: static property 'd7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
150 |   public static let d6 = Interval(quality: .diminished, degree: 6, semitones: 7)
151 |   /// Diminished seventh.
152 |   public static let d7 = Interval(quality: .diminished, degree: 7, semitones: 9)
    |                     |- warning: static property 'd7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd7' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
153 |   /// Diminished eighth.
154 |   public static let d8 = Interval(quality: .diminished, degree: 8, semitones: 11)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:154:21: warning: static property 'd8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
152 |   public static let d7 = Interval(quality: .diminished, degree: 7, semitones: 9)
153 |   /// Diminished eighth.
154 |   public static let d8 = Interval(quality: .diminished, degree: 8, semitones: 11)
    |                     |- warning: static property 'd8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd8' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
155 |   /// Diminished ninth.
156 |   public static let d9 = Interval(quality: .diminished, degree: 9, semitones: 12)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:156:21: warning: static property 'd9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
154 |   public static let d8 = Interval(quality: .diminished, degree: 8, semitones: 11)
155 |   /// Diminished ninth.
156 |   public static let d9 = Interval(quality: .diminished, degree: 9, semitones: 12)
    |                     |- warning: static property 'd9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd9' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |   /// Diminished tenth.
158 |   public static let d10 = Interval(quality: .diminished, degree: 10, semitones: 14)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:158:21: warning: static property 'd10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
156 |   public static let d9 = Interval(quality: .diminished, degree: 9, semitones: 12)
157 |   /// Diminished tenth.
158 |   public static let d10 = Interval(quality: .diminished, degree: 10, semitones: 14)
    |                     |- warning: static property 'd10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd10' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
159 |   /// Diminished eleventh.
160 |   public static let d11 = Interval(quality: .diminished, degree: 11, semitones: 16)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:160:21: warning: static property 'd11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
158 |   public static let d10 = Interval(quality: .diminished, degree: 10, semitones: 14)
159 |   /// Diminished eleventh.
160 |   public static let d11 = Interval(quality: .diminished, degree: 11, semitones: 16)
    |                     |- warning: static property 'd11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd11' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 |   /// Diminished twelfth.
162 |   public static let d12 = Interval(quality: .diminished, degree: 12, semitones: 18)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:162:21: warning: static property 'd12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
160 |   public static let d11 = Interval(quality: .diminished, degree: 11, semitones: 16)
161 |   /// Diminished twelfth.
162 |   public static let d12 = Interval(quality: .diminished, degree: 12, semitones: 18)
    |                     |- warning: static property 'd12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd12' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
163 |   /// Diminished thirteenth.
164 |   public static let d13 = Interval(quality: .diminished, degree: 13, semitones: 19)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:164:21: warning: static property 'd13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
162 |   public static let d12 = Interval(quality: .diminished, degree: 12, semitones: 18)
163 |   /// Diminished thirteenth.
164 |   public static let d13 = Interval(quality: .diminished, degree: 13, semitones: 19)
    |                     |- warning: static property 'd13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd13' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |   /// Diminished fourteenth.
166 |   public static let d14 = Interval(quality: .diminished, degree: 14, semitones: 21)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:166:21: warning: static property 'd14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
164 |   public static let d13 = Interval(quality: .diminished, degree: 13, semitones: 19)
165 |   /// Diminished fourteenth.
166 |   public static let d14 = Interval(quality: .diminished, degree: 14, semitones: 21)
    |                     |- warning: static property 'd14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd14' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
167 |   /// Diminished fifteenth.
168 |   public static let d15 = Interval(quality: .diminished, degree: 15, semitones: 23)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:168:21: warning: static property 'd15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
166 |   public static let d14 = Interval(quality: .diminished, degree: 14, semitones: 21)
167 |   /// Diminished fifteenth.
168 |   public static let d15 = Interval(quality: .diminished, degree: 15, semitones: 23)
    |                     |- warning: static property 'd15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'd15' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
169 |
170 |   /// Augmented first.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:171:21: warning: static property 'A1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
169 |
170 |   /// Augmented first.
171 |   public static let A1 = Interval(quality: .augmented, degree: 1, semitones: 1)
    |                     |- warning: static property 'A1' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A1' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 |   /// Augmented second.
173 |   public static let A2 = Interval(quality: .augmented, degree: 2, semitones: 3)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:173:21: warning: static property 'A2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
171 |   public static let A1 = Interval(quality: .augmented, degree: 1, semitones: 1)
172 |   /// Augmented second.
173 |   public static let A2 = Interval(quality: .augmented, degree: 2, semitones: 3)
    |                     |- warning: static property 'A2' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A2' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 |   /// Augmented third.
175 |   public static let A3 = Interval(quality: .augmented, degree: 3, semitones: 5)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:175:21: warning: static property 'A3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
173 |   public static let A2 = Interval(quality: .augmented, degree: 2, semitones: 3)
174 |   /// Augmented third.
175 |   public static let A3 = Interval(quality: .augmented, degree: 3, semitones: 5)
    |                     |- warning: static property 'A3' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A3' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
176 |   /// Augmented fourth.
177 |   public static let A4 = Interval(quality: .augmented, degree: 4, semitones: 6)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:177:21: warning: static property 'A4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
175 |   public static let A3 = Interval(quality: .augmented, degree: 3, semitones: 5)
176 |   /// Augmented fourth.
177 |   public static let A4 = Interval(quality: .augmented, degree: 4, semitones: 6)
    |                     |- warning: static property 'A4' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A4' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
178 |   /// Augmented fifth.
179 |   public static let A5 = Interval(quality: .augmented, degree: 5, semitones: 8)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:179:21: warning: static property 'A5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
177 |   public static let A4 = Interval(quality: .augmented, degree: 4, semitones: 6)
178 |   /// Augmented fifth.
179 |   public static let A5 = Interval(quality: .augmented, degree: 5, semitones: 8)
    |                     |- warning: static property 'A5' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A5' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 |   /// Augmented sixth.
181 |   public static let A6 = Interval(quality: .augmented, degree: 6, semitones: 10)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:181:21: warning: static property 'A6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
179 |   public static let A5 = Interval(quality: .augmented, degree: 5, semitones: 8)
180 |   /// Augmented sixth.
181 |   public static let A6 = Interval(quality: .augmented, degree: 6, semitones: 10)
    |                     |- warning: static property 'A6' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A6' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
182 |   /// Augmented seventh.
183 |   public static let A7 = Interval(quality: .augmented, degree: 7, semitones: 12)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:183:21: warning: static property 'A7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
181 |   public static let A6 = Interval(quality: .augmented, degree: 6, semitones: 10)
182 |   /// Augmented seventh.
183 |   public static let A7 = Interval(quality: .augmented, degree: 7, semitones: 12)
    |                     |- warning: static property 'A7' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A7' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
184 |   /// Augmented octave.
185 |   public static let A8 = Interval(quality: .augmented, degree: 8, semitones: 13)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:185:21: warning: static property 'A8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
183 |   public static let A7 = Interval(quality: .augmented, degree: 7, semitones: 12)
184 |   /// Augmented octave.
185 |   public static let A8 = Interval(quality: .augmented, degree: 8, semitones: 13)
    |                     |- warning: static property 'A8' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A8' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
186 |   /// Augmented ninth.
187 |   public static let A9 = Interval(quality: .augmented, degree: 9, semitones: 15)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:187:21: warning: static property 'A9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
185 |   public static let A8 = Interval(quality: .augmented, degree: 8, semitones: 13)
186 |   /// Augmented ninth.
187 |   public static let A9 = Interval(quality: .augmented, degree: 9, semitones: 15)
    |                     |- warning: static property 'A9' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A9' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
188 |   /// Augmented tenth.
189 |   public static let A10 = Interval(quality: .augmented, degree: 10, semitones: 17)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:189:21: warning: static property 'A10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
187 |   public static let A9 = Interval(quality: .augmented, degree: 9, semitones: 15)
188 |   /// Augmented tenth.
189 |   public static let A10 = Interval(quality: .augmented, degree: 10, semitones: 17)
    |                     |- warning: static property 'A10' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A10' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
190 |   /// Augmented eleventh.
191 |   public static let A11 = Interval(quality: .augmented, degree: 11, semitones: 18)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:191:21: warning: static property 'A11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
189 |   public static let A10 = Interval(quality: .augmented, degree: 10, semitones: 17)
190 |   /// Augmented eleventh.
191 |   public static let A11 = Interval(quality: .augmented, degree: 11, semitones: 18)
    |                     |- warning: static property 'A11' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A11' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 |   /// Augmented twelfth.
193 |   public static let A12 = Interval(quality: .augmented, degree: 12, semitones: 20)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:193:21: warning: static property 'A12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
191 |   public static let A11 = Interval(quality: .augmented, degree: 11, semitones: 18)
192 |   /// Augmented twelfth.
193 |   public static let A12 = Interval(quality: .augmented, degree: 12, semitones: 20)
    |                     |- warning: static property 'A12' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A12' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
194 |   /// Augmented thirteenth.
195 |   public static let A13 = Interval(quality: .augmented, degree: 13, semitones: 22)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:195:21: warning: static property 'A13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
193 |   public static let A12 = Interval(quality: .augmented, degree: 12, semitones: 20)
194 |   /// Augmented thirteenth.
195 |   public static let A13 = Interval(quality: .augmented, degree: 13, semitones: 22)
    |                     |- warning: static property 'A13' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A13' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
196 |   /// Augmented fourteenth.
197 |   public static let A14 = Interval(quality: .augmented, degree: 14, semitones: 24)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:197:21: warning: static property 'A14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
195 |   public static let A13 = Interval(quality: .augmented, degree: 13, semitones: 22)
196 |   /// Augmented fourteenth.
197 |   public static let A14 = Interval(quality: .augmented, degree: 14, semitones: 24)
    |                     |- warning: static property 'A14' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A14' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
198 |   /// Augmented fifteenth.
199 |   public static let A15 = Interval(quality: .augmented, degree: 15, semitones: 25)
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:199:21: warning: static property 'A15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
197 |   public static let A14 = Interval(quality: .augmented, degree: 14, semitones: 24)
198 |   /// Augmented fifteenth.
199 |   public static let A15 = Interval(quality: .augmented, degree: 15, semitones: 25)
    |                     |- warning: static property 'A15' is not concurrency-safe because non-'Sendable' type 'Interval' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'A15' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
200 |
201 |   /// All pre-defined intervals in a static array. You can filter it out with qualities, degrees or semitones.
/host/spi-builder-workspace/Sources/MusicTheory/Interval.swift:202:21: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Interval]' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | /// Defines the interval between `Pitch`es in semitones.
 32 | public struct Interval: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'Interval' conform to the 'Sendable' protocol
 33 |   /// Quality type of the interval.
 34 |   public enum Quality: Int, Codable, Hashable, CustomStringConvertible {
    :
200 |
201 |   /// All pre-defined intervals in a static array. You can filter it out with qualities, degrees or semitones.
202 |   public static let all: [Interval] = [
    |                     |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Interval]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
203 |     .P1, .P4, .P5, .P8, .P11, .P12, .P15,
204 |     .m2, .m3, .m6, .m7, .m9, .m10, .m13, .m14,
/host/spi-builder-workspace/Sources/MusicTheory/Key.swift:59:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Key.KeyType]' may have shared mutable state; this is an error in the Swift 6 language mode
 40 | public struct Key: Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
 41 |   /// Base pitch of the key without accidentals. Accidentals will take account in the parent struct, `Key`. Integer values are based on C = 0 on western chromatic scale.
 42 |   public enum KeyType: Int, Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
    |               `- note: consider making enum 'KeyType' conform to the 'Sendable' protocol
 43 |     /// C key.
 44 |     case c = 0
    :
 57 |
 58 |     /// Returns all members of the `KeyType`.
 59 |     public static let all: [KeyType] = [.c, .d, .e, .f, .g, .a, .b]
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Key.KeyType]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 60 |
 61 |     /// Returns neighbour `KeyType` at `distance` away. Works on both directions.
/host/spi-builder-workspace/Sources/MusicTheory/Key.swift:157:21: warning: static property 'keysWithSharps' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
 38 |
 39 | /// Represents the keys that notes and pitches are based on.
 40 | public struct Key: Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
    |               `- note: consider making struct 'Key' conform to the 'Sendable' protocol
 41 |   /// Base pitch of the key without accidentals. Accidentals will take account in the parent struct, `Key`. Integer values are based on C = 0 on western chromatic scale.
 42 |   public enum KeyType: Int, Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
    :
155 |
156 |   /// All notes in an octave with sharp notes.
157 |   public static let keysWithSharps = [
    |                     |- warning: static property 'keysWithSharps' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'keysWithSharps' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 |     Key(type: .c, accidental: .natural),
159 |     Key(type: .c, accidental: .sharp),
/host/spi-builder-workspace/Sources/MusicTheory/Key.swift:173:21: warning: static property 'keysWithFlats' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
 38 |
 39 | /// Represents the keys that notes and pitches are based on.
 40 | public struct Key: Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
    |               `- note: consider making struct 'Key' conform to the 'Sendable' protocol
 41 |   /// Base pitch of the key without accidentals. Accidentals will take account in the parent struct, `Key`. Integer values are based on C = 0 on western chromatic scale.
 42 |   public enum KeyType: Int, Codable, Equatable, Hashable, ExpressibleByStringLiteral, CustomStringConvertible {
    :
171 |
172 |   /// All notes in an octave with flat notes.
173 |   public static let keysWithFlats = [
    |                     |- warning: static property 'keysWithFlats' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'keysWithFlats' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 |     Key(type: .c, accidental: .natural),
175 |     Key(type: .d, accidental: .flat),
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:18:21: warning: static property 'major' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    |                     |- warning: static property 'major' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'major' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |   /// Minor scale.
 20 |   public static let minor = ScaleType(intervals: ScaleType.aeolian.intervals, description: "Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:20:21: warning: static property 'minor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
 19 |   /// Minor scale.
 20 |   public static let minor = ScaleType(intervals: ScaleType.aeolian.intervals, description: "Minor")
    |                     |- warning: static property 'minor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'minor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |   /// Harmonic minor scale.
 22 |   public static let harmonicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .M7], description: "Harmonic Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:22:21: warning: static property 'harmonicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 20 |   public static let minor = ScaleType(intervals: ScaleType.aeolian.intervals, description: "Minor")
 21 |   /// Harmonic minor scale.
 22 |   public static let harmonicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .M7], description: "Harmonic Minor")
    |                     |- warning: static property 'harmonicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'harmonicMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |   /// Melodic minor scale.
 24 |   public static let melodicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .M7], description: "Melodic Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:24:21: warning: static property 'melodicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 22 |   public static let harmonicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .M7], description: "Harmonic Minor")
 23 |   /// Melodic minor scale.
 24 |   public static let melodicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .M7], description: "Melodic Minor")
    |                     |- warning: static property 'melodicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'melodicMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |   /// Pentatonic major scale.
 26 |   public static let pentatonicMajor = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Pentatonic Major")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:26:21: warning: static property 'pentatonicMajor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 24 |   public static let melodicMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .M7], description: "Melodic Minor")
 25 |   /// Pentatonic major scale.
 26 |   public static let pentatonicMajor = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Pentatonic Major")
    |                     |- warning: static property 'pentatonicMajor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pentatonicMajor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |   /// Pentatonic minor scale.
 28 |   public static let pentatonicMinor = ScaleType(intervals: [.P1, .m3, .P4, .P5, .m7], description: "Pentatonic Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:28:21: warning: static property 'pentatonicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 26 |   public static let pentatonicMajor = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Pentatonic Major")
 27 |   /// Pentatonic minor scale.
 28 |   public static let pentatonicMinor = ScaleType(intervals: [.P1, .m3, .P4, .P5, .m7], description: "Pentatonic Minor")
    |                     |- warning: static property 'pentatonicMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pentatonicMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |   /// Pentatonic blues scale.
 30 |   public static let pentatonicBlues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Pentatonic Blues")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:30:21: warning: static property 'pentatonicBlues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 28 |   public static let pentatonicMinor = ScaleType(intervals: [.P1, .m3, .P4, .P5, .m7], description: "Pentatonic Minor")
 29 |   /// Pentatonic blues scale.
 30 |   public static let pentatonicBlues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Pentatonic Blues")
    |                     |- warning: static property 'pentatonicBlues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pentatonicBlues' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |   /// Pentatonic neutral scale.
 32 |   public static let pentatonicNeutral = ScaleType(intervals: [.P1, .M2, .P4, .P5, .m7], description: "Pentatonic Neutral")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:32:21: warning: static property 'pentatonicNeutral' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 30 |   public static let pentatonicBlues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Pentatonic Blues")
 31 |   /// Pentatonic neutral scale.
 32 |   public static let pentatonicNeutral = ScaleType(intervals: [.P1, .M2, .P4, .P5, .m7], description: "Pentatonic Neutral")
    |                     |- warning: static property 'pentatonicNeutral' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pentatonicNeutral' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |   /// Ionian scale.
 34 |   public static let ionian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .M7], description: "Ionian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:34:21: warning: static property 'ionian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 32 |   public static let pentatonicNeutral = ScaleType(intervals: [.P1, .M2, .P4, .P5, .m7], description: "Pentatonic Neutral")
 33 |   /// Ionian scale.
 34 |   public static let ionian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .M7], description: "Ionian")
    |                     |- warning: static property 'ionian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'ionian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |   /// Aeolian scale.
 36 |   public static let aeolian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Aeolian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:36:21: warning: static property 'aeolian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 34 |   public static let ionian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .M7], description: "Ionian")
 35 |   /// Aeolian scale.
 36 |   public static let aeolian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Aeolian")
    |                     |- warning: static property 'aeolian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'aeolian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |   /// Dorian scale.
 38 |   public static let dorian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .m7], description: "Dorian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:38:21: warning: static property 'dorian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 36 |   public static let aeolian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Aeolian")
 37 |   /// Dorian scale.
 38 |   public static let dorian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .m7], description: "Dorian")
    |                     |- warning: static property 'dorian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'dorian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |   /// Mixolydian scale.
 40 |   public static let mixolydian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .m7], description: "Mixolydian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:40:21: warning: static property 'mixolydian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 38 |   public static let dorian = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .M6, .m7], description: "Dorian")
 39 |   /// Mixolydian scale.
 40 |   public static let mixolydian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .m7], description: "Mixolydian")
    |                     |- warning: static property 'mixolydian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'mixolydian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |   /// Phrygian scale.
 42 |   public static let phrygian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Phrygian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:42:21: warning: static property 'phrygian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 40 |   public static let mixolydian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .m7], description: "Mixolydian")
 41 |   /// Phrygian scale.
 42 |   public static let phrygian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Phrygian")
    |                     |- warning: static property 'phrygian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'phrygian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |   /// Lydian scale.
 44 |   public static let lydian = ScaleType(intervals: [.P1, .M2, .M3, .A4, .P5, .M6, .M7], description: "Lydian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:44:21: warning: static property 'lydian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 42 |   public static let phrygian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Phrygian")
 43 |   /// Lydian scale.
 44 |   public static let lydian = ScaleType(intervals: [.P1, .M2, .M3, .A4, .P5, .M6, .M7], description: "Lydian")
    |                     |- warning: static property 'lydian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'lydian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 45 |   /// Locrian scale.
 46 |   public static let locrian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .d5, .m6, .m7], description: "Locrian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:46:21: warning: static property 'locrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 44 |   public static let lydian = ScaleType(intervals: [.P1, .M2, .M3, .A4, .P5, .M6, .M7], description: "Lydian")
 45 |   /// Locrian scale.
 46 |   public static let locrian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .d5, .m6, .m7], description: "Locrian")
    |                     |- warning: static property 'locrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'locrian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 47 |   /// Half diminished scale.
 48 |   public static let dimHalf = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Half Diminished")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:48:21: warning: static property 'dimHalf' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 46 |   public static let locrian = ScaleType(intervals: [.P1, .m2, .m3, .P4, .d5, .m6, .m7], description: "Locrian")
 47 |   /// Half diminished scale.
 48 |   public static let dimHalf = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Half Diminished")
    |                     |- warning: static property 'dimHalf' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'dimHalf' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |   /// Whole diminished scale.
 50 |   public static let dimWhole = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Whole Diminished")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:50:21: warning: static property 'dimWhole' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 48 |   public static let dimHalf = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Half Diminished")
 49 |   /// Whole diminished scale.
 50 |   public static let dimWhole = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Whole Diminished")
    |                     |- warning: static property 'dimWhole' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'dimWhole' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |   /// Whole scale.
 52 |   public static let whole = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Whole")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:52:21: warning: static property 'whole' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 50 |   public static let dimWhole = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Whole Diminished")
 51 |   /// Whole scale.
 52 |   public static let whole = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Whole")
    |                     |- warning: static property 'whole' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'whole' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |   /// Augmented scale.
 54 |   public static let augmented = ScaleType(intervals: [.m3, .M3, .P5, .m6, .M7], description: "Augmented")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:54:21: warning: static property 'augmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 52 |   public static let whole = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Whole")
 53 |   /// Augmented scale.
 54 |   public static let augmented = ScaleType(intervals: [.m3, .M3, .P5, .m6, .M7], description: "Augmented")
    |                     |- warning: static property 'augmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'augmented' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 55 |   /// Chromatic scale.
 56 |   public static let chromatic = ScaleType(intervals: [.P1, .m2, .M2, .m3, .M3, .P4, .d5, .P5, .m6, .M6, .m7, .M7], description: "Chromatic")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:56:21: warning: static property 'chromatic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 54 |   public static let augmented = ScaleType(intervals: [.m3, .M3, .P5, .m6, .M7], description: "Augmented")
 55 |   /// Chromatic scale.
 56 |   public static let chromatic = ScaleType(intervals: [.P1, .m2, .M2, .m3, .M3, .P4, .d5, .P5, .m6, .M6, .m7, .M7], description: "Chromatic")
    |                     |- warning: static property 'chromatic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'chromatic' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 57 |   /// Roumanian minor scale.
 58 |   public static let romanianMinor = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .M6, .m7], description: "Romanian Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:58:21: warning: static property 'romanianMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 56 |   public static let chromatic = ScaleType(intervals: [.P1, .m2, .M2, .m3, .M3, .P4, .d5, .P5, .m6, .M6, .m7, .M7], description: "Chromatic")
 57 |   /// Roumanian minor scale.
 58 |   public static let romanianMinor = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .M6, .m7], description: "Romanian Minor")
    |                     |- warning: static property 'romanianMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'romanianMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |   /// Spanish gypsy scale.
 60 |   public static let spanishGypsy = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .m7], description: "Spanish Gypsy")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:60:21: warning: static property 'spanishGypsy' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 58 |   public static let romanianMinor = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .M6, .m7], description: "Romanian Minor")
 59 |   /// Spanish gypsy scale.
 60 |   public static let spanishGypsy = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .m7], description: "Spanish Gypsy")
    |                     |- warning: static property 'spanishGypsy' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'spanishGypsy' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |   /// Blues scale.
 62 |   public static let blues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Blues")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:62:21: warning: static property 'blues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 60 |   public static let spanishGypsy = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .m7], description: "Spanish Gypsy")
 61 |   /// Blues scale.
 62 |   public static let blues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Blues")
    |                     |- warning: static property 'blues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'blues' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 63 |   /// Diatonic scale.
 64 |   public static let diatonic = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Diatonic")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:64:21: warning: static property 'diatonic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 62 |   public static let blues = ScaleType(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Blues")
 63 |   /// Diatonic scale.
 64 |   public static let diatonic = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Diatonic")
    |                     |- warning: static property 'diatonic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'diatonic' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 65 |   /// Dobule harmonic scale.
 66 |   public static let doubleHarmonic = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .M7], description: "Double Harmonic")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:66:21: warning: static property 'doubleHarmonic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 64 |   public static let diatonic = ScaleType(intervals: [.P1, .M2, .M3, .P5, .M6], description: "Diatonic")
 65 |   /// Dobule harmonic scale.
 66 |   public static let doubleHarmonic = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .M7], description: "Double Harmonic")
    |                     |- warning: static property 'doubleHarmonic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'doubleHarmonic' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 67 |   /// Eight tone spanish scale.
 68 |   public static let eightToneSpanish = ScaleType(intervals: [.P1, .m2, .m3, .M3, .P4, .d5, .m6, .m7], description: "Eight Tone Spanish")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:68:21: warning: static property 'eightToneSpanish' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 66 |   public static let doubleHarmonic = ScaleType(intervals: [.P1, .m2, .M3, .P4, .P5, .m6, .M7], description: "Double Harmonic")
 67 |   /// Eight tone spanish scale.
 68 |   public static let eightToneSpanish = ScaleType(intervals: [.P1, .m2, .m3, .M3, .P4, .d5, .m6, .m7], description: "Eight Tone Spanish")
    |                     |- warning: static property 'eightToneSpanish' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'eightToneSpanish' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 69 |   /// Enigmatic scale.
 70 |   public static let enigmatic = ScaleType(intervals: [.P1, .m2, .M3, .d5, .m6, .m7, .M7], description: "Enigmatic")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:70:21: warning: static property 'enigmatic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 68 |   public static let eightToneSpanish = ScaleType(intervals: [.P1, .m2, .m3, .M3, .P4, .d5, .m6, .m7], description: "Eight Tone Spanish")
 69 |   /// Enigmatic scale.
 70 |   public static let enigmatic = ScaleType(intervals: [.P1, .m2, .M3, .d5, .m6, .m7, .M7], description: "Enigmatic")
    |                     |- warning: static property 'enigmatic' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'enigmatic' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 71 |   /// Leading whole tone scale.
 72 |   public static let leadingWholeTone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .m7], description: "Leading Whole Tone")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:72:21: warning: static property 'leadingWholeTone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 70 |   public static let enigmatic = ScaleType(intervals: [.P1, .m2, .M3, .d5, .m6, .m7, .M7], description: "Enigmatic")
 71 |   /// Leading whole tone scale.
 72 |   public static let leadingWholeTone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .m7], description: "Leading Whole Tone")
    |                     |- warning: static property 'leadingWholeTone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'leadingWholeTone' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 73 |   /// Lydian augmented scale.
 74 |   public static let lydianAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .M7], description: "Lydian Augmented")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:74:21: warning: static property 'lydianAugmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 72 |   public static let leadingWholeTone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .m7], description: "Leading Whole Tone")
 73 |   /// Lydian augmented scale.
 74 |   public static let lydianAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .M7], description: "Lydian Augmented")
    |                     |- warning: static property 'lydianAugmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'lydianAugmented' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 75 |   /// Neopolitan major scale.
 76 |   public static let neopolitanMajor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .M6, .M7], description: "Neopolitan Major")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:76:21: warning: static property 'neopolitanMajor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 74 |   public static let lydianAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .M6, .M7], description: "Lydian Augmented")
 75 |   /// Neopolitan major scale.
 76 |   public static let neopolitanMajor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .M6, .M7], description: "Neopolitan Major")
    |                     |- warning: static property 'neopolitanMajor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'neopolitanMajor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |   /// Neopolitan minor scale.
 78 |   public static let neopolitanMinor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Neopolitan Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:78:21: warning: static property 'neopolitanMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 76 |   public static let neopolitanMajor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .M6, .M7], description: "Neopolitan Major")
 77 |   /// Neopolitan minor scale.
 78 |   public static let neopolitanMinor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Neopolitan Minor")
    |                     |- warning: static property 'neopolitanMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'neopolitanMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |   /// Pelog scale.
 80 |   public static let pelog = ScaleType(intervals: [.P1, .m2, .m3, .d5, .m7, .M7], description: "Pelog")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:80:21: warning: static property 'pelog' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 78 |   public static let neopolitanMinor = ScaleType(intervals: [.P1, .m2, .m3, .P4, .P5, .m6, .m7], description: "Neopolitan Minor")
 79 |   /// Pelog scale.
 80 |   public static let pelog = ScaleType(intervals: [.P1, .m2, .m3, .d5, .m7, .M7], description: "Pelog")
    |                     |- warning: static property 'pelog' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pelog' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 81 |   /// Prometheus scale.
 82 |   public static let prometheus = ScaleType(intervals: [.P1, .M2, .M3, .d5, .M6, .m7], description: "Prometheus")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:82:21: warning: static property 'prometheus' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 80 |   public static let pelog = ScaleType(intervals: [.P1, .m2, .m3, .d5, .m7, .M7], description: "Pelog")
 81 |   /// Prometheus scale.
 82 |   public static let prometheus = ScaleType(intervals: [.P1, .M2, .M3, .d5, .M6, .m7], description: "Prometheus")
    |                     |- warning: static property 'prometheus' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'prometheus' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 83 |   /// Prometheus neopolitan scale.
 84 |   public static let prometheusNeopolitan = ScaleType(intervals: [.P1, .m2, .M3, .d5, .M6, .m7], description: "Prometheus Neopolitan")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:84:21: warning: static property 'prometheusNeopolitan' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 82 |   public static let prometheus = ScaleType(intervals: [.P1, .M2, .M3, .d5, .M6, .m7], description: "Prometheus")
 83 |   /// Prometheus neopolitan scale.
 84 |   public static let prometheusNeopolitan = ScaleType(intervals: [.P1, .m2, .M3, .d5, .M6, .m7], description: "Prometheus Neopolitan")
    |                     |- warning: static property 'prometheusNeopolitan' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'prometheusNeopolitan' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 |   /// Six tone symmetrical scale.
 86 |   public static let sixToneSymmetrical = ScaleType(intervals: [.P1, .m2, .M3, .P4, .m6, .M6], description: "Six Tone Symmetrical")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:86:21: warning: static property 'sixToneSymmetrical' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 84 |   public static let prometheusNeopolitan = ScaleType(intervals: [.P1, .m2, .M3, .d5, .M6, .m7], description: "Prometheus Neopolitan")
 85 |   /// Six tone symmetrical scale.
 86 |   public static let sixToneSymmetrical = ScaleType(intervals: [.P1, .m2, .M3, .P4, .m6, .M6], description: "Six Tone Symmetrical")
    |                     |- warning: static property 'sixToneSymmetrical' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'sixToneSymmetrical' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 87 |   /// Super locrian scale.
 88 |   public static let superLocrian = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Super Locrian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:88:21: warning: static property 'superLocrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 86 |   public static let sixToneSymmetrical = ScaleType(intervals: [.P1, .m2, .M3, .P4, .m6, .M6], description: "Six Tone Symmetrical")
 87 |   /// Super locrian scale.
 88 |   public static let superLocrian = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Super Locrian")
    |                     |- warning: static property 'superLocrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'superLocrian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 89 |   /// Lydian minor scale.
 90 |   public static let lydianMinor = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .m6, .m7], description: "Lydian Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:90:21: warning: static property 'lydianMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 88 |   public static let superLocrian = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Super Locrian")
 89 |   /// Lydian minor scale.
 90 |   public static let lydianMinor = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .m6, .m7], description: "Lydian Minor")
    |                     |- warning: static property 'lydianMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'lydianMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 91 |   /// Lydian diminished scale.
 92 |   public static let lydianDiminished = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .m6, .m7], description: "Lydian Diminished")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:92:21: warning: static property 'lydianDiminished' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 90 |   public static let lydianMinor = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .m6, .m7], description: "Lydian Minor")
 91 |   /// Lydian diminished scale.
 92 |   public static let lydianDiminished = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .m6, .m7], description: "Lydian Diminished")
    |                     |- warning: static property 'lydianDiminished' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'lydianDiminished' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 93 |   /// Nine tone scale.
 94 |   public static let nineToneScale = ScaleType(intervals: [.P1, .M2, .m3, .M3, .d5, .P5, .m6, .M6, .M7], description: "Nine Tone Scale")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:94:21: warning: static property 'nineToneScale' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 92 |   public static let lydianDiminished = ScaleType(intervals: [.P1, .M2, .m3, .d5, .P5, .m6, .m7], description: "Lydian Diminished")
 93 |   /// Nine tone scale.
 94 |   public static let nineToneScale = ScaleType(intervals: [.P1, .M2, .m3, .M3, .d5, .P5, .m6, .M6, .M7], description: "Nine Tone Scale")
    |                     |- warning: static property 'nineToneScale' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'nineToneScale' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 95 |   /// Auxiliary diminished scale.
 96 |   public static let auxiliaryDiminished = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Auxiliary Diminished")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:96:21: warning: static property 'auxiliaryDiminished' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 94 |   public static let nineToneScale = ScaleType(intervals: [.P1, .M2, .m3, .M3, .d5, .P5, .m6, .M6, .M7], description: "Nine Tone Scale")
 95 |   /// Auxiliary diminished scale.
 96 |   public static let auxiliaryDiminished = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Auxiliary Diminished")
    |                     |- warning: static property 'auxiliaryDiminished' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'auxiliaryDiminished' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 97 |   /// Auxiliary augmaneted scale.
 98 |   public static let auxiliaryAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Auxiliary Augmented")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:98:21: warning: static property 'auxiliaryAugmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 96 |   public static let auxiliaryDiminished = ScaleType(intervals: [.P1, .M2, .m3, .P4, .d5, .m6, .M6, .M7], description: "Auxiliary Diminished")
 97 |   /// Auxiliary augmaneted scale.
 98 |   public static let auxiliaryAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Auxiliary Augmented")
    |                     |- warning: static property 'auxiliaryAugmented' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'auxiliaryAugmented' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 99 |   /// Auxiliary diminished blues scale.
100 |   public static let auxiliaryDimBlues = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Auxiliary Diminished Blues")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:100:21: warning: static property 'auxiliaryDimBlues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
 98 |   public static let auxiliaryAugmented = ScaleType(intervals: [.P1, .M2, .M3, .d5, .m6, .m7], description: "Auxiliary Augmented")
 99 |   /// Auxiliary diminished blues scale.
100 |   public static let auxiliaryDimBlues = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Auxiliary Diminished Blues")
    |                     |- warning: static property 'auxiliaryDimBlues' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'auxiliaryDimBlues' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |   /// Major locrian scale.
102 |   public static let majorLocrian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .d5, .m6, .m7], description: "Major Locrian")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:102:21: warning: static property 'majorLocrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
100 |   public static let auxiliaryDimBlues = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .P5, .M6, .m7], description: "Auxiliary Diminished Blues")
101 |   /// Major locrian scale.
102 |   public static let majorLocrian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .d5, .m6, .m7], description: "Major Locrian")
    |                     |- warning: static property 'majorLocrian' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'majorLocrian' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |   /// Overtone scale.
104 |   public static let overtone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .M6, .m7], description: "Overtone")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:104:21: warning: static property 'overtone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
102 |   public static let majorLocrian = ScaleType(intervals: [.P1, .M2, .M3, .P4, .d5, .m6, .m7], description: "Major Locrian")
103 |   /// Overtone scale.
104 |   public static let overtone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .M6, .m7], description: "Overtone")
    |                     |- warning: static property 'overtone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'overtone' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
105 |   /// Diminished whole tone scale.
106 |   public static let diminishedWholeTone = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Diminished Whole Tone")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:106:21: warning: static property 'diminishedWholeTone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
104 |   public static let overtone = ScaleType(intervals: [.P1, .M2, .M3, .d5, .P5, .M6, .m7], description: "Overtone")
105 |   /// Diminished whole tone scale.
106 |   public static let diminishedWholeTone = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Diminished Whole Tone")
    |                     |- warning: static property 'diminishedWholeTone' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'diminishedWholeTone' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
107 |   /// Pure minor scale.
108 |   public static let pureMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Pure Minor")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:108:21: warning: static property 'pureMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
106 |   public static let diminishedWholeTone = ScaleType(intervals: [.P1, .m2, .m3, .M3, .d5, .m6, .m7], description: "Diminished Whole Tone")
107 |   /// Pure minor scale.
108 |   public static let pureMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Pure Minor")
    |                     |- warning: static property 'pureMinor' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'pureMinor' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |   /// Dominant seventh scale.
110 |   public static let dominant7th = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .m7], description: "Dominant 7th")
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:110:21: warning: static property 'dominant7th' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |
 15 | /// Represents scale by the intervals between note sequences.
 16 | public struct ScaleType: Codable, Hashable, CustomStringConvertible {
    |               `- note: consider making struct 'ScaleType' conform to the 'Sendable' protocol
 17 |   /// Major scale.
 18 |   public static let major = ScaleType(intervals: ScaleType.ionian.intervals, description: "Major")
    :
108 |   public static let pureMinor = ScaleType(intervals: [.P1, .M2, .m3, .P4, .P5, .m6, .m7], description: "Pure Minor")
109 |   /// Dominant seventh scale.
110 |   public static let dominant7th = ScaleType(intervals: [.P1, .M2, .M3, .P4, .P5, .M6, .m7], description: "Dominant 7th")
    |                     |- warning: static property 'dominant7th' is not concurrency-safe because non-'Sendable' type 'ScaleType' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: add '@MainActor' to make static property 'dominant7th' part of global actor 'MainActor'
    |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 |   /// Intervals of the scale.
/host/spi-builder-workspace/Sources/MusicTheory/Scale.swift:310:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Scale.HarmonicField]' may have shared mutable state; this is an error in the Swift 6 language mode
295 | extension Scale {
296 |   /// Stack of notes to generate chords for each note in the scale.
297 |   public enum HarmonicField: Int, Codable {
    |               `- note: consider making enum 'HarmonicField' conform to the 'Sendable' protocol
298 |     /// First, third and fifth degree notes builds a triad chord.
299 |     case triad
    :
308 |
309 |     /// All possible harmonic fields constructed from.
310 |     public static let all: [HarmonicField] = [.triad, .tetrad, .ninth, .eleventh, .thirteenth]
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Scale.HarmonicField]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
311 |   }
312 |
[13/14] Compiling MusicTheory NoteValue.swift
[14/14] Compiling MusicTheory TimeSignature.swift
Build complete! (8.52s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "MusicTheory",
  "name" : "MusicTheory",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "MusicTheory",
      "targets" : [
        "MusicTheory"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MusicTheoryTests",
      "module_type" : "SwiftTarget",
      "name" : "MusicTheoryTests",
      "path" : "Tests/MusicTheoryTests",
      "sources" : [
        "MusicTheoryTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "MusicTheory"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MusicTheory",
      "module_type" : "SwiftTarget",
      "name" : "MusicTheory",
      "path" : "Sources/MusicTheory",
      "product_memberships" : [
        "MusicTheory"
      ],
      "sources" : [
        "Accidental.swift",
        "Chord.swift",
        "ChordProgression.swift",
        "HarmonicFunctions.swift",
        "Interval.swift",
        "Key.swift",
        "NoteValue.swift",
        "Pitch.swift",
        "Scale.swift",
        "Tempo.swift",
        "TimeSignature.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.