There are weaknesses in how pointers and the data they point to relate with something like exchange_malloc. This means that vec![...] creates variables _1 and *_1 which aren’t connected in a way such that marking the return of exchange_malloc will propagate to the * value.