pub(crate) fn u64_key_from_i64_key(key: i64) -> u64
We use u64 keys in the internal structures, because it is so much easier to work with
u64