Rethinking the role of MemorySegment vs. MemoryAddress