SwiftUI Table Sort Order strangeness

SwiftUI Table on macOS with two columns. In some test code the items being sorted are:

@Observable
final class Item: Identifiable {
    let id: Int
    var displayId: String {
        String(id)
    }
    let description: String

    init(_ id: Int) {
        self.id = id
        self.description = UUID().uuidString
    }
}

The table columns are displayId and description. The Tables initial sort order is defined by this descriptor:

var sortOrder = [KeyPathComparator(\Item.description)]

The strangeness is this: the sorted description order is very strange.

"0B5..." sorts before "0B0..." ? Or if I reverse the sort order I get this:

"AA..." before "FF..."

What am I missing? Sorting the first column does what I'd consider to be the right thing, showing the column in numerical order even though I'm using the String representation of id.

SwiftUI Table Sort Order strangeness
 
 
Q