let mvalue_of_value = function
| V_int (i,t) -> M.V_int (i,t)
| V_float (f,t) -> M.V_float (f,t)
| V_array (a,t) -> M.V_array(a,t)
| V_record (c,t) -> M.V_record (c,t)
| V_union (c,t) -> M.V_union (c,t)
| V_pointer (te,Mloc l) -> M.V_pointer (te, l)
| V_pointer (_,Path _) -> assert false