A C++ pointer cannot distinguish host from device memory, creating a type system vulnerability where GPU data accessed from the host compiles but crashes at runtime. Vx fixes this by encoding memory space directly in the type signature, making unsafe memory accesses a compile-time error instead.