I would suggest a proper interim fix is to only reject key types that define opEquals, but not opCmp. Then switch to using equals in druntime.
Sorry, I meant define opCmp but not opEquals. Some types can be compared for equality but are not ordered (AA's for example!)
-Steve