would this be cleaner to use `SameValue(key, -0)`, and consolidate all the `-0` logic in one place?