Breaking on "Duplicate keys of type were found in a Dictionary"

Yes, this is printed to the log when the runtime error occurs.

If the key type isn't Hashable, then you get an error from the compiler, so I'm not sure how this could ever be a runtime error.

The alleged mutation is happening on a let container in ForEach, so I'm not sure where the mutation could be occurring:

List
{
	let groupedSets = groupSetsByDay(sets: self.sets)
	let sortedKeys = groupedSets.keys.sorted(by: >)
	
	Text("\(self.sets.count) recorded sets")
	
	ForEach(sortedKeys, id: \.self)
	{ inDate in
		if let daySets = groupedSets[inDate]?.sorted(by: { $0.timestamp < $1.timestamp })
		{
			Section("\(inDate.formatted(date: .abbreviated, time: .omitted))")
			{
				ForEach(daySets, id: \.self)
				{ inSetRecord in
					SetRecordListItem(set: inSetRecord)
				}
			}
		}
	}
}