Well… what about starting with the advice in the function?
- This usually means either that the type violates Hashable's requirements, or
- that members of such a dictionary were mutated after insertion
Maybe start by investigating and confirming that the SetRecord type would not violate one of those conditions?