It's true there are no guarantees, but in practice it should be safe. Both types are basically "the largest unsigned integer type that's sensible."