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