requires lowering write_via_move during MIR building to make it just like an assignment
rustc_mir_transform