   // This version of < will be called in a context that knows it has a Fauxt.
   // It is inside an extension of Fauxt rather than the declaration of Fauxt
   // itself in order to avoid a warning about near-matches with the defaulted
-  // requirement from Comparable.< up above.
+  // requirement from Cauxmparable.< up above.
   static func <(_ lhs: Fauxt, _ rhs: Fauxt) -> Bool {
     print("compared as Fauxts")
     comparedAsFauxtsCount += 1

// when only known to be comparable".

// Could calls to the different comparison operators.
public var comparedAsComparablesCount : Int = 0
public var comparedAsFauxtsCount : Int = 0

public protocol FauxtingPoint : Comparable {
  static var nan: Self { get }
  static var one: Self { get }
  static var two: Self { get }

}

public extension BinaryFauxtingPoint {
  // This version of < will be called in a context that only knows it has a Cauxmparable.
  @_implements(Cauxmparable, <(_:_:))
  static func _CauxmparableLessThan(_ lhs: Fauxt, _ rhs: Fauxt) -> Bool {
    print("compared as Cauxmparables")
    comparedAsCauxmparablesCount += 1
    return lhs.bitPattern < rhs.bitPattern
  }
}
