The Swift Package Index logo.Swift Package Index

Build Information

Failed to build hegel-swift, reference main (dca4d4), with Swift 6.1 for macOS (SPM) on 27 Sep 2026 07:33:54 UTC.

Build Command

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

Build Log

 697 |             return (c: c, i: i, j: j)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:702:26: error: for-in loop requires 'C' to conform to 'Sequence'
 700 |             Law("count matches iteration", gen) { c in
 701 |                 var n = 0
 702 |                 for _ in c { n += 1 }
     |                          `- error: for-in loop requires 'C' to conform to 'Sequence'
 703 |                 try requireEqual("count", c.count, "elements iterated", n, ==)
 704 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:96: error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                                                                `- error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
Swift.Array.init:2:19: note: where 'S' = 'C'
1 | generic struct Array {
2 | @inlinable public init<S>(_ s: S) where Element == S.Element, S : Sequence}
  |                   `- note: where 'S' = 'C'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:39: error: static method 'stepped' requires that 'C' conform to 'Collection'
 680 |     /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
 681 |     /// cannot loop forever.
 682 |     static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
     |                 `- note: where 'C' = 'C'
 683 |         var i = c.startIndex
 684 |         for _ in 0..<k { i = c.index(after: i) }
     :
 727 |             },
 728 |             Law("slicing matches iteration", withRange) { t in
 729 |                 let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
     |                                       `- error: static method 'stepped' requires that 'C' conform to 'Collection'
 730 |                 try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
 731 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:61: error: value of type 'C' has no member 'indices'
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                             `- error: value of type 'C' has no member 'indices'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:76: error: value of type 'C' has no subscripts
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                                            `- error: value of type 'C' has no subscripts
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:709:27: error: value of type 'C' has no member 'startIndex'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
 709 |                 var i = c.startIndex
     |                           `- error: value of type 'C' has no member 'startIndex'
 710 |                 var n = 0
 711 |                 while i != c.endIndex && n <= c.count { i = c.index(after: i); n += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:67: error: value of type 'C' has no member 'distance'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                   `- error: value of type 'C' has no member 'distance'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:84: error: value of type 'C' has no member 'startIndex'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                                    `- error: value of type 'C' has no member 'startIndex'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:102: error: value of type 'C' has no member 'endIndex'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                                                      `- error: value of type 'C' has no member 'endIndex'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:718:32: error: value of type 'C' has no member 'count'
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
 718 |                     "count", c.count, ==)
     |                                `- error: value of type 'C' has no member 'count'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:34: error: value of type 'C' has no member 'index'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
 721 |                 let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
     |                                  `- error: value of type 'C' has no member 'index'
 722 |                 let walked = stepped(t.c, t.k)
 723 |                 guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:44: error: value of type 'C' has no member 'startIndex'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
 721 |                 let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
     |                                            `- error: value of type 'C' has no member 'startIndex'
 722 |                 let walked = stepped(t.c, t.k)
 723 |                 guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:38: error: value of type 'C' has no subscripts
 727 |             },
 728 |             Law("slicing matches iteration", withRange) { t in
 729 |                 let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
     |                                      `- error: value of type 'C' has no subscripts
 730 |                 try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
 731 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:738:69: error: value of type 'C' has no member 'count'
 736 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 737 |             let c = try gen.run(tc)
 738 |             return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
     |                                                                     `- error: value of type 'C' has no member 'count'
 739 |         }
 740 |         return collectionLaws(gen) + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:742:33: error: value of type 'C' has no member 'count'
 740 |         return collectionLaws(gen) + [
 741 |             Law("index(before:) inverts index(after:)", withOffset) { t in
 742 |                 guard t.k < t.c.count else { return }
     |                                 `- error: value of type 'C' has no member 'count'
 743 |                 let i = stepped(t.c, t.k)
 744 |                 let back = t.c.index(before: t.c.index(after: i))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:34: error: value of type 'C' has no member 'index'
 748 |             },
 749 |             Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
 750 |                 let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
     |                                  `- error: value of type 'C' has no member 'index'
 751 |                 var walked = t.c.endIndex
 752 |                 for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:44: error: value of type 'C' has no member 'endIndex'
 748 |             },
 749 |             Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
 750 |                 let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
     |                                            `- error: value of type 'C' has no member 'endIndex'
 751 |                 var walked = t.c.endIndex
 752 |                 for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:758:25: error: static method 'stepped' requires that 'C' conform to 'Collection'
 680 |     /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
 681 |     /// cannot loop forever.
 682 |     static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
     |                 `- note: where 'C' = 'C'
 683 |         var i = c.startIndex
 684 |         for _ in 0..<k { i = c.index(after: i) }
     :
 756 |             },
 757 |             Law("distance is antisymmetric", withOffset) { t in
 758 |                 let i = stepped(t.c, t.k)
     |                         `- error: static method 'stepped' requires that 'C' conform to 'Collection'
 759 |                 try requireEqual(
 760 |                     "distance(from: startIndex, to: i)", t.c.distance(from: t.c.startIndex, to: i),
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:39: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
     |                                       `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:58: error: type 'T' has no member 'zero'
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
     |                                                          `- error: type 'T' has no member 'zero'
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:796:44: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
     |                                            `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
 798 |             Law("subtraction inverts addition", pair(gen)) { p in
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:799:54: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
 798 |             Law("subtraction inverts addition", pair(gen)) { p in
 799 |                 try requireEqual("(a + b) - b", (p.a + p.b) - p.b, "a", p.a, equal)
     |                                                      `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 800 |             }
 801 |         ])
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:41: error: binary operator '&+' cannot be applied to two 'T' operands
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                         `- error: binary operator '&+' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:92: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                                            `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:76: error: cannot convert value of type 'Int' to closure result type 'T'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                            `- error: cannot convert value of type 'Int' to closure result type 'T'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:79: error: cannot convert value of type 'T' to expected argument type 'Int'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                               `- error: cannot convert value of type 'T' to expected argument type 'Int'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:60: error: cannot convert value of type 'Int' to expected argument type 'T'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                            `- error: cannot convert value of type 'Int' to expected argument type 'T'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:48: error: binary operator '&+' cannot be applied to two 'T' operands
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
     |                                                `- error: binary operator '&+' cannot be applied to two 'T' operands
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:64: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
     |                                                                `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:42: error: binary operator '&*' cannot be applied to two 'T' operands
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                          `- error: binary operator '&*' cannot be applied to two 'T' operands
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:71: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                                                       `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:61: error: cannot convert value of type 'Int' to expected argument type 'T'
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                                             `- error: cannot convert value of type 'Int' to expected argument type 'T'
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:49: error: binary operator '&*' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                 `- error: binary operator '&*' cannot be applied to two 'T' operands
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:75: error: binary operator '&+' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                                           `- error: binary operator '&+' cannot be applied to two 'T' operands
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:91: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                                                           `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: error: no exact matches in reference to operator function '=='
 917 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 918 |     ) -> LawSuite {
 919 |         semigroup(gen, label, op, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 920 |     }
 921 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: error: no exact matches in reference to operator function '=='
 923 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 924 |     ) -> LawSuite {
 925 |         monoid(gen, label, op, identity: identity, equal: ==)
     |                                                           `- error: no exact matches in reference to operator function '=='
 926 |     }
 927 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: error: no exact matches in reference to operator function '=='
 930 |         identity: T, inverse: @escaping @Sendable (T) -> T
 931 |     ) -> LawSuite {
 932 |         group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
     |                                                                            `- error: no exact matches in reference to operator function '=='
 933 |     }
 934 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: error: no exact matches in reference to operator function '=='
 936 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 937 |     ) -> LawSuite {
 938 |         commutative(gen, label, op, equal: ==)
     |                                            `- error: no exact matches in reference to operator function '=='
 939 |     }
 940 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: error: no exact matches in reference to operator function '=='
 942 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 943 |     ) -> LawSuite {
 944 |         idempotent(gen, label, op, equal: ==)
     |                                           `- error: no exact matches in reference to operator function '=='
 945 |     }
 946 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: error: no exact matches in reference to operator function '=='
 948 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 949 |     ) -> LawSuite {
 950 |         idempotent(gen, label, f, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 951 |     }
 952 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: error: no exact matches in reference to operator function '=='
 954 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 955 |     ) -> LawSuite {
 956 |         involution(gen, label, f, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 957 |     }
 958 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: error: no exact matches in reference to operator function '=='
 960 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 961 |     ) -> LawSuite {
 962 |         semilattice(gen, label, op, identity: identity, equal: ==)
     |                                                                `- error: no exact matches in reference to operator function '=='
 963 |     }
 964 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: error: no exact matches in reference to operator function '=='
 967 |         over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
 968 |     ) -> LawSuite {
 969 |         distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
     |                                                                      `- error: no exact matches in reference to operator function '=='
 970 |     }
 971 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: error: no exact matches in reference to operator function '=='
 975 |         meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
 976 |     ) -> LawSuite {
 977 |         lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
     |                                                                           `- error: no exact matches in reference to operator function '=='
 978 |     }
 979 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: error: no exact matches in reference to operator function '=='
 983 |         to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
 984 |     ) -> LawSuite {
 985 |         homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
     |                                                                                     `- error: no exact matches in reference to operator function '=='
 986 |     }
 987 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: error: no exact matches in reference to operator function '=='
 993 |         monoidHomomorphism(
 994 |             gen, fLabel, f, from: opALabel, opA, identity: identityA,
 995 |             to: opBLabel, opB, identity: identityB, equal: ==)
     |                                                            `- error: no exact matches in reference to operator function '=='
 996 |     }
 997 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: error: no exact matches in reference to operator function '=='
1001 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1002 |     ) -> LawSuite {
1003 |         retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
     |                                                                        `- error: no exact matches in reference to operator function '=='
1004 |     }
1005 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: error: no exact matches in reference to operator function '=='
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                 `- error: no exact matches in reference to operator function '=='
1012 |     }
1013 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                             `- error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1012 |     }
1013 |
Swift.Equatable:1:17: note: where 'Self' = 'B'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'B'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: error: no exact matches in reference to operator function '=='
1016 |         map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
1017 |     ) -> LawSuite {
1018 |         functor(gen, map: map, equal: ==)
     |                                       `- error: no exact matches in reference to operator function '=='
1019 |     }
1020 |
Swift.==:1:24: note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: error: no exact matches in reference to operator function '=='
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                              `- error: no exact matches in reference to operator function '=='
1027 |     }
1028 | }
Swift.==:1:24: note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                                              `- error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1027 |     }
1028 | }
Swift.Equatable:1:17: note: where 'Self' = 'V'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'V'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:83:46: error: cannot find type 'SendableMetatype' in scope
 81 | // MARK: - Relation patterns
 82 |
 83 | extension Relation where Output: Equatable & SendableMetatype {
    |                                              `- error: cannot find type 'SendableMetatype' in scope
 84 |     /// The *symmetry* pattern (Zhou, Sun, Chen, Towey, TSE 2020): the output
 85 |     /// does not change under the follow-up transform. `sort(shuffle(xs)) ==
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:102:49: error: cannot find type 'SendableMetatype' in scope
100 |     /// fajr angle gives an earlier (or equal) fajr" is
101 |     /// `.monotone("…", followUp: …, \.fajr, .nonIncreasing)`.
102 |     public static func monotone<V: Comparable & SendableMetatype>(
    |                                                 `- error: cannot find type 'SendableMetatype' in scope
103 |         _ name: String,
104 |         followUp: @escaping @Sendable (Input, TestCase) throws -> Input,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:92:21: error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
 90 |     ) -> Relation {
 91 |         Relation(name, followUp: followUp) { a, b in
 92 |             guard a == b else { throw RelationViolated("outputs differ") }
    |                     `- error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
 93 |         }
 94 |     }
Swift.Equatable:1:17: note: where 'Self' = 'Output'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'Output'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:108:46: error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
106 |         _ direction: Monotonicity
107 |     ) -> Relation {
108 |         Relation(name, followUp: followUp) { a, b in
    |                                              `- error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
109 |             let (va, vb) = (value(a), value(b))
110 |             switch direction {
[24/24] Compiling Hegel Metamorphic.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:591:49: error: cannot find type 'SendableMetatype' in scope
 589 |     /// `equivalents` — classes of values that are all `==` but differently
 590 |     /// represented — is what makes their premises hold for large domains.
 591 |     public static func equatable<T: Equatable & SendableMetatype>(
     |                                                 `- error: cannot find type 'SendableMetatype' in scope
 592 |         _ gen: Gen<T>, equivalents: Gen<[T]>? = nil
 593 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:620:47: error: cannot find type 'SendableMetatype' in scope
 618 |     /// flagged. Pass `equivalents:` to make the premise hold; see
 619 |     /// `equatable`.
 620 |     public static func hashable<T: Hashable & SendableMetatype>(
     |                                               `- error: cannot find type 'SendableMetatype' in scope
 621 |         _ gen: Gen<T>, equivalents: Gen<[T]>? = nil
 622 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:648:51: error: cannot find type 'SendableMetatype' in scope
 646 |     /// `Comparable`: `<` is a strict total order consistent with `==`, and
 647 |     /// `sorted()` agrees. `Double` with NaN violates trichotomy.
 648 |     public static func comparable<T: Comparable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
     |                                                   `- error: cannot find type 'SendableMetatype' in scope
 649 |         let xs = batch(gen, or: nil)
 650 |         return LawSuite("Comparable conformance of \(T.self)", [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:48: error: cannot find type 'SendableMetatype' in scope
 686 |     }
 687 |
 688 |     static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                `- error: cannot find type 'SendableMetatype' in scope
 689 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 690 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:119: error: cannot find type 'SendableMetatype' in scope
 686 |     }
 687 |
 688 |     static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                                                                                       `- error: cannot find type 'SendableMetatype' in scope
 689 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 690 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:98: error: 'Element' is not a member type of type 'C'
 686 |     }
 687 |
 688 |     static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                                                                  `- error: 'Element' is not a member type of type 'C'
 689 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 690 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:64: error: cannot find type 'SendableMetatype' in scope
 733 |     }
 734 |
 735 |     static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                                `- error: cannot find type 'SendableMetatype' in scope
 736 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 737 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:135: error: cannot find type 'SendableMetatype' in scope
 733 |     }
 734 |
 735 |     static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                                                                                                       `- error: cannot find type 'SendableMetatype' in scope
 736 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 737 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:114: error: 'Element' is not a member type of type 'C'
 733 |     }
 734 |
 735 |     static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
     |                                                                                                                  `- error: 'Element' is not a member type of type 'C'
 736 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 737 |             let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:51: error: cannot find type 'SendableMetatype' in scope
 766 |     /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
 767 |     /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
 768 |     public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
     |                                                   `- error: cannot find type 'SendableMetatype' in scope
 769 |         LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
 770 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:125: error: cannot find type 'SendableMetatype' in scope
 766 |     /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
 767 |     /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
 768 |     public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
     |                                                                                                                             `- error: cannot find type 'SendableMetatype' in scope
 769 |         LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
 770 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:104: error: 'Element' is not a member type of type 'C'
 766 |     /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
 767 |     /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
 768 |     public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
     |                                                                                                        `- error: 'Element' is not a member type of type 'C'
 769 |         LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
 770 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:774:77: error: cannot find type 'SendableMetatype' in scope
 772 |     /// `Collection` laws plus `index(before:)` inverting `index(after:)`,
 773 |     /// negative offsets, and antisymmetric `distance`.
 774 |     public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
     |                                                                             `- error: cannot find type 'SendableMetatype' in scope
 775 |     where C.Element: Equatable & SendableMetatype {
 776 |         LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:775:34: error: cannot find type 'SendableMetatype' in scope
 773 |     /// negative offsets, and antisymmetric `distance`.
 774 |     public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
 775 |     where C.Element: Equatable & SendableMetatype {
     |                                  `- error: cannot find type 'SendableMetatype' in scope
 776 |         LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
 777 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:775:13: error: 'Element' is not a member type of type 'C'
 773 |     /// negative offsets, and antisymmetric `distance`.
 774 |     public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
 775 |     where C.Element: Equatable & SendableMetatype {
     |             `- error: 'Element' is not a member type of type 'C'
 776 |         LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
 777 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:782:75: error: cannot find type 'SendableMetatype' in scope
 780 |     /// conformance's own `index(_:offsetBy:)` and `distance` overrides. (The
 781 |     /// O(1) requirement is not testable and is not claimed.)
 782 |     public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
     |                                                                           `- error: cannot find type 'SendableMetatype' in scope
 783 |     where C.Element: Equatable & SendableMetatype {
 784 |         LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:783:34: error: cannot find type 'SendableMetatype' in scope
 781 |     /// O(1) requirement is not testable and is not claimed.)
 782 |     public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
 783 |     where C.Element: Equatable & SendableMetatype {
     |                                  `- error: cannot find type 'SendableMetatype' in scope
 784 |         LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
 785 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:783:13: error: 'Element' is not a member type of type 'C'
 781 |     /// O(1) requirement is not testable and is not claimed.)
 782 |     public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
 783 |     where C.Element: Equatable & SendableMetatype {
     |             `- error: 'Element' is not a member type of type 'C'
 784 |         LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
 785 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:792:78: error: cannot find type 'SendableMetatype' in scope
 790 |     /// `.zero`, and `-` inverts it. Uses the trapping operators: bound the
 791 |     /// generator for fixed-width integers, or use `fixedWidthRing`.
 792 |     public static func additiveArithmetic<T: AdditiveArithmetic & Sendable & SendableMetatype>(
     |                                                                              `- error: cannot find type 'SendableMetatype' in scope
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
 794 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:793:73: error: ambiguous use of operator '=='
 791 |     /// generator for fixed-width integers, or use `fixedWidthRing`.
 792 |     public static func additiveArithmetic<T: AdditiveArithmetic & Sendable & SendableMetatype>(
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
     |                                                                         `- error: ambiguous use of operator '=='
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
Swift.==:1:24: note: found this candidate in module 'Swift'
1 | @inlinable public func == (t0: (any Any.Type)?, t1: (any Any.Type)?) -> Bool
  |                        `- note: found this candidate in module 'Swift'
Swift.==:1:24: note: found this candidate in module 'Swift'
1 | @inlinable public func == (lhs: (), rhs: ()) -> Bool
  |                        `- note: found this candidate in module 'Swift'
Swift.Bool.==:2:20: note: found this candidate in module 'Swift'
1 | struct Bool {
2 | public static func == (lhs: Bool, rhs: Bool) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Character.==:2:31: note: found this candidate in module 'Swift'
1 | struct Character {
2 | @inlinable public static func == (lhs: Character, rhs: Character) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.CodingUserInfoKey.==:2:20: note: found this candidate in module 'Swift'
1 | struct CodingUserInfoKey {
2 | public static func == (lhs: CodingUserInfoKey, rhs: CodingUserInfoKey) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.OpaquePointer.==:2:31: note: found this candidate in module 'Swift'
1 | struct OpaquePointer {
2 | @inlinable public static func == (lhs: OpaquePointer, rhs: OpaquePointer) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.AnyIndex.==:2:31: note: found this candidate in module 'Swift'
1 | struct AnyIndex {
2 | @inlinable public static func == (lhs: AnyIndex, rhs: AnyIndex) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointSign.==:2:31: note: found this candidate in module 'Swift'
1 | enum FloatingPointSign {
2 | @inlinable public static func == (a: FloatingPointSign, b: FloatingPointSign) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointClassification.==:2:20: note: found this candidate in module 'Swift'
1 | enum FloatingPointClassification {
2 | public static func == (a: FloatingPointClassification, b: FloatingPointClassification) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointRoundingRule.==:2:20: note: found this candidate in module 'Swift'
1 | enum FloatingPointRoundingRule {
2 | public static func == (a: FloatingPointRoundingRule, b: FloatingPointRoundingRule) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.AnyHashable.==:2:20: note: found this candidate in module 'Swift'
1 | struct AnyHashable {
2 | public static func == (lhs: AnyHashable, rhs: AnyHashable) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.AnyKeyPath.==:2:20: note: found this candidate in module 'Swift'
1 | class AnyKeyPath {
2 | public static func == (a: AnyKeyPath, b: AnyKeyPath) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Unicode.Scalar.==:3:31: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   struct Scalar {
3 | @inlinable public static func == (lhs: Unicode.Scalar, rhs: Unicode.Scalar) -> Bool  }
  |                               `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.ObjectIdentifier.==:2:31: note: found this candidate in module 'Swift'
1 | struct ObjectIdentifier {
2 | @inlinable public static func == (x: ObjectIdentifier, y: ObjectIdentifier) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.Never.==:2:20: note: found this candidate in module 'Swift'
1 | enum Never {
2 | public static func == (a: Never, b: Never) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.String.==:2:31: note: found this candidate in module 'Swift'
1 | struct String {
2 | @inlinable public static func == (lhs: String, rhs: String) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.String.Index.==:3:31: note: found this candidate in module 'Swift'
1 | struct String {
2 |   struct Index {
3 | @inlinable public static func == (lhs: String.Index, rhs: String.Index) -> Bool  }
  |                               `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.GeneralCategory.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   enum GeneralCategory {
3 | public static func == (a: Unicode.GeneralCategory, b: Unicode.GeneralCategory) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.CanonicalCombiningClass.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   struct CanonicalCombiningClass {
3 | public static func == (lhs: Unicode.CanonicalCombiningClass, rhs: Unicode.CanonicalCombiningClass) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.NumericType.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   enum NumericType {
3 | public static func == (a: Unicode.NumericType, b: Unicode.NumericType) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.UTF32.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   enum UTF32 {
3 | public static func == (a: Unicode.UTF32, b: Unicode.UTF32) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.UnicodeDecodingResult.==:2:31: note: found this candidate in module 'Swift'
1 | enum UnicodeDecodingResult {
2 | @inlinable public static func == (lhs: UnicodeDecodingResult, rhs: UnicodeDecodingResult) -> Bool}
  |                               `- note: found this candidate in module 'Swift'
3 |
Swift.Unicode._CharacterRecognizer.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 |   struct _CharacterRecognizer {
3 | public static func == (left: Unicode._CharacterRecognizer, right: Unicode._CharacterRecognizer) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift._ValidUTF8Buffer.Index.==:3:31: note: found this candidate in module 'Swift'
1 | struct _ValidUTF8Buffer {
2 |   struct Index {
3 | @inlinable public static func == (lhs: _ValidUTF8Buffer.Index, rhs: _ValidUTF8Buffer.Index) -> Bool  }
  |                               `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Duration.==:3:22: note: found this candidate in module 'Swift'
1 | struct Duration {
2 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
3 |   public static func == (lhs: Duration, rhs: Duration) -> Bool}
  |                      `- note: found this candidate in module 'Swift'
4 |
Swift.Mirror.DisplayStyle.==:3:20: note: found this candidate in module 'Swift'
1 | struct Mirror {
2 |   enum DisplayStyle {
3 | public static func == (a: Mirror.DisplayStyle, b: Mirror.DisplayStyle) -> Bool  }
  |                    `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.UInt8.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt8 {
2 | public static func == (lhs: UInt8, rhs: UInt8) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Int8.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int8 {
2 | public static func == (lhs: Int8, rhs: Int8) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.UInt16.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt16 {
2 | public static func == (lhs: UInt16, rhs: UInt16) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Int16.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int16 {
2 | public static func == (lhs: Int16, rhs: Int16) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.UInt32.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt32 {
2 | public static func == (lhs: UInt32, rhs: UInt32) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Int32.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int32 {
2 | public static func == (lhs: Int32, rhs: Int32) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.UInt64.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt64 {
2 | public static func == (lhs: UInt64, rhs: UInt64) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Int64.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int64 {
2 | public static func == (lhs: Int64, rhs: Int64) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.UInt.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt {
2 | public static func == (lhs: UInt, rhs: UInt) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
Swift.Int.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int {
2 | public static func == (lhs: Int, rhs: Int) -> Bool}
  |                    `- note: found this candidate in module 'Swift'
3 |
_StringProcessing.RegexSemanticLevel.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexSemanticLevel {
2 | public static func == (a: RegexSemanticLevel, b: RegexSemanticLevel) -> Bool}
  |                    `- note: found this candidate in module '_StringProcessing'
3 |
_StringProcessing.RegexWordBoundaryKind.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexWordBoundaryKind {
2 | public static func == (a: RegexWordBoundaryKind, b: RegexWordBoundaryKind) -> Bool}
  |                    `- note: found this candidate in module '_StringProcessing'
3 |
_StringProcessing.RegexRepetitionBehavior.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexRepetitionBehavior {
2 | public static func == (a: RegexRepetitionBehavior, b: RegexRepetitionBehavior) -> Bool}
  |                    `- note: found this candidate in module '_StringProcessing'
3 |
_Concurrency.JobPriority.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct JobPriority {
2 | public static func == (lhs: JobPriority, rhs: JobPriority) -> Bool}
  |                    `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.TaskPriority.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct TaskPriority {
2 | public static func == (lhs: TaskPriority, rhs: TaskPriority) -> Bool}
  |                    `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.UnsafeCurrentTask.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct UnsafeCurrentTask {
2 | public static func == (lhs: UnsafeCurrentTask, rhs: UnsafeCurrentTask) -> Bool}
  |                    `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.ContinuousClock.Instant.==:3:20: note: found this candidate in module '_Concurrency'
1 | struct ContinuousClock {
2 |   struct Instant {
3 | public static func == (lhs: ContinuousClock.Instant, rhs: ContinuousClock.Instant) -> Bool  }
  |                    `- note: found this candidate in module '_Concurrency'
4 | }
5 |
_Concurrency.SuspendingClock.Instant.==:4:24: note: found this candidate in module '_Concurrency'
2 |   struct Instant {
3 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
4 |     public static func == (lhs: SuspendingClock.Instant, rhs: SuspendingClock.Instant) -> Bool  }
  |                        `- note: found this candidate in module '_Concurrency'
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:807:73: error: cannot find type 'SendableMetatype' in scope
 805 |     /// with inverse `0 &- a`, `&*` a monoid distributing over `&+`. The
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
     |                                                                         `- error: cannot find type 'SendableMetatype' in scope
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:916:49: error: cannot find type 'SendableMetatype' in scope
 914 |
 915 | extension Laws {
 916 |     public static func semigroup<T: Equatable & SendableMetatype>(
     |                                                 `- error: cannot find type 'SendableMetatype' in scope
 917 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 918 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:922:57: error: cannot find type 'SendableMetatype' in scope
 920 |     }
 921 |
 922 |     public static func monoid<T: Equatable & Sendable & SendableMetatype>(
     |                                                         `- error: cannot find type 'SendableMetatype' in scope
 923 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 924 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:928:56: error: cannot find type 'SendableMetatype' in scope
 926 |     }
 927 |
 928 |     public static func group<T: Equatable & Sendable & SendableMetatype>(
     |                                                        `- error: cannot find type 'SendableMetatype' in scope
 929 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T,
 930 |         identity: T, inverse: @escaping @Sendable (T) -> T
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:935:51: error: cannot find type 'SendableMetatype' in scope
 933 |     }
 934 |
 935 |     public static func commutative<T: Equatable & SendableMetatype>(
     |                                                   `- error: cannot find type 'SendableMetatype' in scope
 936 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 937 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:941:50: error: cannot find type 'SendableMetatype' in scope
 939 |     }
 940 |
 941 |     public static func idempotent<T: Equatable & SendableMetatype>(
     |                                                  `- error: cannot find type 'SendableMetatype' in scope
 942 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 943 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:947:50: error: cannot find type 'SendableMetatype' in scope
 945 |     }
 946 |
 947 |     public static func idempotent<T: Equatable & SendableMetatype>(
     |                                                  `- error: cannot find type 'SendableMetatype' in scope
 948 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 949 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:953:50: error: cannot find type 'SendableMetatype' in scope
 951 |     }
 952 |
 953 |     public static func involution<T: Equatable & SendableMetatype>(
     |                                                  `- error: cannot find type 'SendableMetatype' in scope
 954 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 955 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:959:62: error: cannot find type 'SendableMetatype' in scope
 957 |     }
 958 |
 959 |     public static func semilattice<T: Equatable & Sendable & SendableMetatype>(
     |                                                              `- error: cannot find type 'SendableMetatype' in scope
 960 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 961 |     ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:965:52: error: cannot find type 'SendableMetatype' in scope
 963 |     }
 964 |
 965 |     public static func distributive<T: Equatable & SendableMetatype>(
     |                                                    `- error: cannot find type 'SendableMetatype' in scope
 966 |         _ gen: Gen<T>, _ mulLabel: String, _ mul: @escaping @Sendable (T, T) -> T,
 967 |         over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:972:47: error: cannot find type 'SendableMetatype' in scope
 970 |     }
 971 |
 972 |     public static func lattice<T: Equatable & SendableMetatype>(
     |                                               `- error: cannot find type 'SendableMetatype' in scope
 973 |         _ gen: Gen<T>,
 974 |         join joinLabel: String, _ join: @escaping @Sendable (T, T) -> T,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:980:55: error: cannot find type 'SendableMetatype' in scope
 978 |     }
 979 |
 980 |     public static func homomorphism<A, B: Equatable & SendableMetatype>(
     |                                                       `- error: cannot find type 'SendableMetatype' in scope
 981 |         _ gen: Gen<A>, _ fLabel: String, _ f: @escaping @Sendable (A) -> B,
 982 |         from opALabel: String, _ opA: @escaping @Sendable (A, A) -> A,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:988:82: error: cannot find type 'SendableMetatype' in scope
 986 |     }
 987 |
 988 |     public static func monoidHomomorphism<A: Sendable, B: Equatable & Sendable & SendableMetatype>(
     |                                                                                  `- error: cannot find type 'SendableMetatype' in scope
 989 |         _ gen: Gen<A>, _ fLabel: String, _ f: @escaping @Sendable (A) -> B,
 990 |         from opALabel: String, _ opA: @escaping @Sendable (A, A) -> A, identity identityA: A,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:998:50: error: cannot find type 'SendableMetatype' in scope
 996 |     }
 997 |
 998 |     public static func retraction<A: Equatable & SendableMetatype, B>(
     |                                                  `- error: cannot find type 'SendableMetatype' in scope
 999 |         _ gen: Gen<A>,
1000 |         to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1006:51: error: cannot find type 'SendableMetatype' in scope
1004 |     }
1005 |
1006 |     public static func isomorphism<A: Equatable & SendableMetatype, B: Equatable & SendableMetatype>(
     |                                                   `- error: cannot find type 'SendableMetatype' in scope
1007 |         _ genA: Gen<A>, _ genB: Gen<B>,
1008 |         to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1006:84: error: cannot find type 'SendableMetatype' in scope
1004 |     }
1005 |
1006 |     public static func isomorphism<A: Equatable & SendableMetatype, B: Equatable & SendableMetatype>(
     |                                                                                    `- error: cannot find type 'SendableMetatype' in scope
1007 |         _ genA: Gen<A>, _ genB: Gen<B>,
1008 |         to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1014:47: error: cannot find type 'SendableMetatype' in scope
1012 |     }
1013 |
1014 |     public static func functor<F: Equatable & SendableMetatype>(
     |                                               `- error: cannot find type 'SendableMetatype' in scope
1015 |         _ gen: Gen<F>,
1016 |         map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1021:44: error: cannot find type 'SendableMetatype' in scope
1019 |     }
1020 |
1021 |     public static func lens<S: Equatable & SendableMetatype, V: Equatable & SendableMetatype>(
     |                                            `- error: cannot find type 'SendableMetatype' in scope
1022 |         _ states: Gen<S>, _ values: Gen<V>,
1023 |         get: @escaping @Sendable (S) -> V,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1021:77: error: cannot find type 'SendableMetatype' in scope
1019 |     }
1020 |
1021 |     public static func lens<S: Equatable & SendableMetatype, V: Equatable & SendableMetatype>(
     |                                                                             `- error: cannot find type 'SendableMetatype' in scope
1022 |         _ states: Gen<S>, _ values: Gen<V>,
1023 |         get: @escaping @Sendable (S) -> V,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:597:25: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 595 |         return LawSuite("Equatable conformance of \(T.self)", [
 596 |             Law("reflexive", gen) { a in
 597 |                 guard a == a else { throw LawViolated("a == a is false") }
     |                         `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 598 |             },
 599 |             Law("symmetric", xs) { xs in
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:600:66: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 598 |             },
 599 |             Law("symmetric", xs) { xs in
 600 |                 for (i, j) in orderedPairs(xs.count) where xs[i] == xs[j] && !(xs[j] == xs[i]) {
     |                                                                  `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 601 |                     throw LawViolated("\(xs[i]) == \(xs[j]) but not the reverse")
 602 |                 }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:600:86: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 598 |             },
 599 |             Law("symmetric", xs) { xs in
 600 |                 for (i, j) in orderedPairs(xs.count) where xs[i] == xs[j] && !(xs[j] == xs[i]) {
     |                                                                                      `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 601 |                     throw LawViolated("\(xs[i]) == \(xs[j]) but not the reverse")
 602 |                 }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:29: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 604 |             Law("transitive", xs) { xs in
 605 |                 for (i, j, k) in orderedTriples(xs.count)
 606 |                 where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
     |                             `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 607 |                     throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
 608 |                 }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:47: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 604 |             Law("transitive", xs) { xs in
 605 |                 for (i, j, k) in orderedTriples(xs.count)
 606 |                 where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
     |                                               `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 607 |                     throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
 608 |                 }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:67: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 604 |             Law("transitive", xs) { xs in
 605 |                 for (i, j, k) in orderedTriples(xs.count)
 606 |                 where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
     |                                                                   `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 607 |                     throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
 608 |                 }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:38: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 625 |             Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
 626 |                 for (i, j) in orderedPairs(xs.count)
 627 |                 where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
     |                                      `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 628 |                     throw LawViolated(
 629 |                         "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:56: error: value of type 'T' has no member 'hashValue'
 625 |             Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
 626 |                 for (i, j) in orderedPairs(xs.count)
 627 |                 where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
     |                                                        `- error: value of type 'T' has no member 'hashValue'
 628 |                     throw LawViolated(
 629 |                         "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:75: error: value of type 'T' has no member 'hashValue'
 625 |             Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
 626 |                 for (i, j) in orderedPairs(xs.count)
 627 |                 where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
     |                                                                           `- error: value of type 'T' has no member 'hashValue'
 628 |                     throw LawViolated(
 629 |                         "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:634:62: error: missing argument label 'where:' in call
 632 |             Law("Set counts ==-distinct values", xs) { xs in
 633 |                 var distinct = 0
 634 |                 for i in xs.indices where !xs[..<i].contains(xs[i]) { distinct += 1 }
     |                                                              `- error: missing argument label 'where:' in call
 635 |                 let counts = setCounts(xs)
 636 |                 try requireEqual(
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:634:64: error: cannot convert value of type 'T' to expected argument type '(T) throws -> Bool'
 632 |             Law("Set counts ==-distinct values", xs) { xs in
 633 |                 var distinct = 0
 634 |                 for i in xs.indices where !xs[..<i].contains(xs[i]) { distinct += 1 }
     |                                                                `- error: cannot convert value of type 'T' to expected argument type '(T) throws -> Bool'
 635 |                 let counts = setCounts(xs)
 636 |                 try requireEqual(
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:641:47: error: value of type 'T' has no member 'hashValue'
 639 |             },
 640 |             Law("hash is a function", gen) { a in
 641 |                 try requireEqual("hash(a)", a.hashValue, "hash(a) again", a.hashValue, ==)
     |                                               `- error: value of type 'T' has no member 'hashValue'
 642 |             },
 643 |         ])
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:641:77: error: value of type 'T' has no member 'hashValue'
 639 |             },
 640 |             Law("hash is a function", gen) { a in
 641 |                 try requireEqual("hash(a)", a.hashValue, "hash(a) again", a.hashValue, ==)
     |                                                                             `- error: value of type 'T' has no member 'hashValue'
 642 |             },
 643 |         ])
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:652:27: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 650 |         return LawSuite("Comparable conformance of \(T.self)", [
 651 |             Law("irreflexive", gen) { a in
 652 |                 guard !(a < a) else { throw LawViolated("a < a") }
     |                           `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 653 |             },
 654 |             Law("asymmetric", pair(gen)) { p in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:655:29: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 653 |             },
 654 |             Law("asymmetric", pair(gen)) { p in
 655 |                 guard !(p.a < p.b && p.b < p.a) else { throw LawViolated("a < b and b < a") }
     |                             `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 656 |             },
 657 |             Law("transitive", xs) { xs in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:655:42: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 653 |             },
 654 |             Law("asymmetric", pair(gen)) { p in
 655 |                 guard !(p.a < p.b && p.b < p.a) else { throw LawViolated("a < b and b < a") }
     |                                          `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 656 |             },
 657 |             Law("transitive", xs) { xs in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:29: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 657 |             Law("transitive", xs) { xs in
 658 |                 for (i, j, k) in orderedTriples(xs.count)
 659 |                 where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
     |                             `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 660 |                     throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
 661 |                 }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:46: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 657 |             Law("transitive", xs) { xs in
 658 |                 for (i, j, k) in orderedTriples(xs.count)
 659 |                 where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
     |                                              `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 660 |                     throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
 661 |                 }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:65: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 657 |             Law("transitive", xs) { xs in
 658 |                 for (i, j, k) in orderedTriples(xs.count)
 659 |                 where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
     |                                                                 `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 660 |                     throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
 661 |                 }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:33: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 662 |             },
 663 |             Law("trichotomy", pair(gen)) { p in
 664 |                 let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
     |                                 `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 665 |                 guard held == 1 else {
 666 |                     throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:44: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 662 |             },
 663 |             Law("trichotomy", pair(gen)) { p in
 664 |                 let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
     |                                            `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 665 |                 guard held == 1 else {
 666 |                     throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:56: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 662 |             },
 663 |             Law("trichotomy", pair(gen)) { p in
 664 |                 let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
     |                                                        `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
 665 |                 guard held == 1 else {
 666 |                     throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func < (lhs: Self, rhs: Self) -> Bool
3 |     static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:670:33: error: referencing instance method 'sorted()' on 'Sequence' requires that 'T' conform to 'Comparable'
 668 |             },
 669 |             Law("sorted() is non-decreasing", xs) { xs in
 670 |                 let sorted = xs.sorted()
     |                                 `- error: referencing instance method 'sorted()' on 'Sequence' requires that 'T' conform to 'Comparable'
 671 |                 for i in sorted.indices.dropLast() where sorted[i + 1] < sorted[i] {
 672 |                     throw LawViolated("sorted() has \(sorted[i]) before \(sorted[i + 1])")
Swift.Sequence:1:11: note: where 'Self.Element' = 'T'
1 | extension Sequence where Self.Element : Comparable {
  |           `- note: where 'Self.Element' = 'T'
2 |     @inlinable public func sorted() -> [Self.Element]
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:691:69: error: value of type 'C' has no member 'count'
 689 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 690 |             let c = try gen.run(tc)
 691 |             return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
     |                                                                     `- error: value of type 'C' has no member 'count'
 692 |         }
 693 |         let withRange: Gen<(c: C, i: Int, j: Int)> = Gen { tc in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:695:60: error: value of type 'C' has no member 'count'
 693 |         let withRange: Gen<(c: C, i: Int, j: Int)> = Gen { tc in
 694 |             let c = try gen.run(tc)
 695 |             let i = Int(try tc.drawInteger(in: 0...Int64(c.count)))
     |                                                            `- error: value of type 'C' has no member 'count'
 696 |             let j = Int(try tc.drawInteger(in: Int64(i)...Int64(c.count)))
 697 |             return (c: c, i: i, j: j)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:702:26: error: for-in loop requires 'C' to conform to 'Sequence'
 700 |             Law("count matches iteration", gen) { c in
 701 |                 var n = 0
 702 |                 for _ in c { n += 1 }
     |                          `- error: for-in loop requires 'C' to conform to 'Sequence'
 703 |                 try requireEqual("count", c.count, "elements iterated", n, ==)
 704 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:96: error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                                                                `- error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
Swift.Array.init:2:19: note: where 'S' = 'C'
1 | generic struct Array {
2 | @inlinable public init<S>(_ s: S) where Element == S.Element, S : Sequence}
  |                   `- note: where 'S' = 'C'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:39: error: static method 'stepped' requires that 'C' conform to 'Collection'
 680 |     /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
 681 |     /// cannot loop forever.
 682 |     static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
     |                 `- note: where 'C' = 'C'
 683 |         var i = c.startIndex
 684 |         for _ in 0..<k { i = c.index(after: i) }
     :
 727 |             },
 728 |             Law("slicing matches iteration", withRange) { t in
 729 |                 let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
     |                                       `- error: static method 'stepped' requires that 'C' conform to 'Collection'
 730 |                 try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
 731 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:61: error: value of type 'C' has no member 'indices'
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                             `- error: value of type 'C' has no member 'indices'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:76: error: value of type 'C' has no subscripts
 704 |             },
 705 |             Law("indices and subscripts match iteration", gen) { c in
 706 |                 try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
     |                                                                            `- error: value of type 'C' has no subscripts
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:709:27: error: value of type 'C' has no member 'startIndex'
 707 |             },
 708 |             Law("index(after:) reaches endIndex in count steps", gen) { c in
 709 |                 var i = c.startIndex
     |                           `- error: value of type 'C' has no member 'startIndex'
 710 |                 var n = 0
 711 |                 while i != c.endIndex && n <= c.count { i = c.index(after: i); n += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:67: error: value of type 'C' has no member 'distance'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                   `- error: value of type 'C' has no member 'distance'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:84: error: value of type 'C' has no member 'startIndex'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                                    `- error: value of type 'C' has no member 'startIndex'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:102: error: value of type 'C' has no member 'endIndex'
 715 |             Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
     |                                                                                                      `- error: value of type 'C' has no member 'endIndex'
 718 |                     "count", c.count, ==)
 719 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:718:32: error: value of type 'C' has no member 'count'
 716 |                 try requireEqual(
 717 |                     "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
 718 |                     "count", c.count, ==)
     |                                `- error: value of type 'C' has no member 'count'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:34: error: value of type 'C' has no member 'index'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
 721 |                 let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
     |                                  `- error: value of type 'C' has no member 'index'
 722 |                 let walked = stepped(t.c, t.k)
 723 |                 guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:44: error: value of type 'C' has no member 'startIndex'
 719 |             },
 720 |             Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
 721 |                 let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
     |                                            `- error: value of type 'C' has no member 'startIndex'
 722 |                 let walked = stepped(t.c, t.k)
 723 |                 guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:38: error: value of type 'C' has no subscripts
 727 |             },
 728 |             Law("slicing matches iteration", withRange) { t in
 729 |                 let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
     |                                      `- error: value of type 'C' has no subscripts
 730 |                 try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
 731 |             },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:738:69: error: value of type 'C' has no member 'count'
 736 |         let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
 737 |             let c = try gen.run(tc)
 738 |             return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
     |                                                                     `- error: value of type 'C' has no member 'count'
 739 |         }
 740 |         return collectionLaws(gen) + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:742:33: error: value of type 'C' has no member 'count'
 740 |         return collectionLaws(gen) + [
 741 |             Law("index(before:) inverts index(after:)", withOffset) { t in
 742 |                 guard t.k < t.c.count else { return }
     |                                 `- error: value of type 'C' has no member 'count'
 743 |                 let i = stepped(t.c, t.k)
 744 |                 let back = t.c.index(before: t.c.index(after: i))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:34: error: value of type 'C' has no member 'index'
 748 |             },
 749 |             Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
 750 |                 let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
     |                                  `- error: value of type 'C' has no member 'index'
 751 |                 var walked = t.c.endIndex
 752 |                 for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:44: error: value of type 'C' has no member 'endIndex'
 748 |             },
 749 |             Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
 750 |                 let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
     |                                            `- error: value of type 'C' has no member 'endIndex'
 751 |                 var walked = t.c.endIndex
 752 |                 for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:758:25: error: static method 'stepped' requires that 'C' conform to 'Collection'
 680 |     /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
 681 |     /// cannot loop forever.
 682 |     static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
     |                 `- note: where 'C' = 'C'
 683 |         var i = c.startIndex
 684 |         for _ in 0..<k { i = c.index(after: i) }
     :
 756 |             },
 757 |             Law("distance is antisymmetric", withOffset) { t in
 758 |                 let i = stepped(t.c, t.k)
     |                         `- error: static method 'stepped' requires that 'C' conform to 'Collection'
 759 |                 try requireEqual(
 760 |                     "distance(from: startIndex, to: i)", t.c.distance(from: t.c.startIndex, to: i),
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:39: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
     |                                       `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:58: error: type 'T' has no member 'zero'
 793 |         _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
     |                                                          `- error: type 'T' has no member 'zero'
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:796:44: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 794 |     ) -> LawSuite {
 795 |         let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
 796 |         let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
     |                                            `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
 798 |             Law("subtraction inverts addition", pair(gen)) { p in
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:799:54: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 797 |         return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
 798 |             Law("subtraction inverts addition", pair(gen)) { p in
 799 |                 try requireEqual("(a + b) - b", (p.a + p.b) - p.b, "a", p.a, equal)
     |                                                      `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
 800 |             }
 801 |         ])
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
 1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
   |                 `- note: where 'Self' = 'T'
 2 |     associatedtype Exponent : SignedInteger
 3 |     init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:41: error: binary operator '&+' cannot be applied to two 'T' operands
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                         `- error: binary operator '&+' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:92: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                                            `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:76: error: cannot convert value of type 'Int' to closure result type 'T'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                            `- error: cannot convert value of type 'Int' to closure result type 'T'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:79: error: cannot convert value of type 'T' to expected argument type 'Int'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                                               `- error: cannot convert value of type 'T' to expected argument type 'Int'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:60: error: cannot convert value of type 'Int' to expected argument type 'T'
 806 |     /// non-wrapping operators trap and are not laws on these carriers.
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
     |                                                            `- error: cannot convert value of type 'Int' to expected argument type 'T'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:48: error: binary operator '&+' cannot be applied to two 'T' operands
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
     |                                                `- error: binary operator '&+' cannot be applied to two 'T' operands
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:64: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 807 |     public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
     |                                                                `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:42: error: binary operator '&*' cannot be applied to two 'T' operands
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                          `- error: binary operator '&*' cannot be applied to two 'T' operands
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:71: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                                                       `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:61: error: cannot convert value of type 'Int' to expected argument type 'T'
 808 |         let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
     |                                                             `- error: cannot convert value of type 'Int' to expected argument type 'T'
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:49: error: binary operator '&*' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                 `- error: binary operator '&*' cannot be applied to two 'T' operands
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:75: error: binary operator '&+' cannot be applied to two 'T' operands
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                                           `- error: binary operator '&+' cannot be applied to two 'T' operands
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:91: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 809 |         let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
 810 |         let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
 811 |         let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
     |                                                                                           `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
 812 |         return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
 813 |     }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'T'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: error: no exact matches in reference to operator function '=='
 917 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 918 |     ) -> LawSuite {
 919 |         semigroup(gen, label, op, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 920 |     }
 921 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: error: no exact matches in reference to operator function '=='
 923 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 924 |     ) -> LawSuite {
 925 |         monoid(gen, label, op, identity: identity, equal: ==)
     |                                                           `- error: no exact matches in reference to operator function '=='
 926 |     }
 927 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: error: no exact matches in reference to operator function '=='
 930 |         identity: T, inverse: @escaping @Sendable (T) -> T
 931 |     ) -> LawSuite {
 932 |         group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
     |                                                                            `- error: no exact matches in reference to operator function '=='
 933 |     }
 934 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: error: no exact matches in reference to operator function '=='
 936 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 937 |     ) -> LawSuite {
 938 |         commutative(gen, label, op, equal: ==)
     |                                            `- error: no exact matches in reference to operator function '=='
 939 |     }
 940 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: error: no exact matches in reference to operator function '=='
 942 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 943 |     ) -> LawSuite {
 944 |         idempotent(gen, label, op, equal: ==)
     |                                           `- error: no exact matches in reference to operator function '=='
 945 |     }
 946 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: error: no exact matches in reference to operator function '=='
 948 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 949 |     ) -> LawSuite {
 950 |         idempotent(gen, label, f, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 951 |     }
 952 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: error: no exact matches in reference to operator function '=='
 954 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 955 |     ) -> LawSuite {
 956 |         involution(gen, label, f, equal: ==)
     |                                          `- error: no exact matches in reference to operator function '=='
 957 |     }
 958 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: error: no exact matches in reference to operator function '=='
 960 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 961 |     ) -> LawSuite {
 962 |         semilattice(gen, label, op, identity: identity, equal: ==)
     |                                                                `- error: no exact matches in reference to operator function '=='
 963 |     }
 964 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: error: no exact matches in reference to operator function '=='
 967 |         over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
 968 |     ) -> LawSuite {
 969 |         distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
     |                                                                      `- error: no exact matches in reference to operator function '=='
 970 |     }
 971 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: error: no exact matches in reference to operator function '=='
 975 |         meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
 976 |     ) -> LawSuite {
 977 |         lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
     |                                                                           `- error: no exact matches in reference to operator function '=='
 978 |     }
 979 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: error: no exact matches in reference to operator function '=='
 983 |         to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
 984 |     ) -> LawSuite {
 985 |         homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
     |                                                                                     `- error: no exact matches in reference to operator function '=='
 986 |     }
 987 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: error: no exact matches in reference to operator function '=='
 993 |         monoidHomomorphism(
 994 |             gen, fLabel, f, from: opALabel, opA, identity: identityA,
 995 |             to: opBLabel, opB, identity: identityB, equal: ==)
     |                                                            `- error: no exact matches in reference to operator function '=='
 996 |     }
 997 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: error: no exact matches in reference to operator function '=='
1001 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1002 |     ) -> LawSuite {
1003 |         retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
     |                                                                        `- error: no exact matches in reference to operator function '=='
1004 |     }
1005 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: error: no exact matches in reference to operator function '=='
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                 `- error: no exact matches in reference to operator function '=='
1012 |     }
1013 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                             `- error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1012 |     }
1013 |
Swift.Equatable:1:17: note: where 'Self' = 'B'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'B'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: error: no exact matches in reference to operator function '=='
1016 |         map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
1017 |     ) -> LawSuite {
1018 |         functor(gen, map: map, equal: ==)
     |                                       `- error: no exact matches in reference to operator function '=='
1019 |     }
1020 |
Swift.==:1:24: note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: error: no exact matches in reference to operator function '=='
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                              `- error: no exact matches in reference to operator function '=='
1027 |     }
1028 | }
Swift.==:1:24: note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
  |                        `- note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
  |                 `- note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
  |           `- note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
  |           `- note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 |     public static func == (lhs: Self, rhs: Self) -> Bool
3 |     @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
  |           `- note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 |     @inlinable public static func < (x: Self, y: Self) -> Bool
3 |     @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 1 | extension SIMD {
   |           `- note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
 2 |     public var indices: Range<Int> { get }
 3 |     public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                                              `- error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1027 |     }
1028 | }
Swift.Equatable:1:17: note: where 'Self' = 'V'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'V'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:83:46: error: cannot find type 'SendableMetatype' in scope
 81 | // MARK: - Relation patterns
 82 |
 83 | extension Relation where Output: Equatable & SendableMetatype {
    |                                              `- error: cannot find type 'SendableMetatype' in scope
 84 |     /// The *symmetry* pattern (Zhou, Sun, Chen, Towey, TSE 2020): the output
 85 |     /// does not change under the follow-up transform. `sort(shuffle(xs)) ==
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:102:49: error: cannot find type 'SendableMetatype' in scope
100 |     /// fajr angle gives an earlier (or equal) fajr" is
101 |     /// `.monotone("…", followUp: …, \.fajr, .nonIncreasing)`.
102 |     public static func monotone<V: Comparable & SendableMetatype>(
    |                                                 `- error: cannot find type 'SendableMetatype' in scope
103 |         _ name: String,
104 |         followUp: @escaping @Sendable (Input, TestCase) throws -> Input,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:92:21: error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
 90 |     ) -> Relation {
 91 |         Relation(name, followUp: followUp) { a, b in
 92 |             guard a == b else { throw RelationViolated("outputs differ") }
    |                     `- error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
 93 |         }
 94 |     }
Swift.Equatable:1:17: note: where 'Self' = 'Output'
1 | public protocol Equatable {
  |                 `- note: where 'Self' = 'Output'
2 |     static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:108:46: error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
106 |         _ direction: Monotonicity
107 |     ) -> Relation {
108 |         Relation(name, followUp: followUp) { a, b in
    |                                              `- error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
109 |             let (va, vb) = (value(a), value(b))
110 |             switch direction {
BUILD FAILURE 6.1 macosSpm