This will throw if `obj` is not a `Hotkey` which is a mean thing to do for an innocent method such as Equals