let not_of_value = function
    | M.V_int(_,t) -> not_of_int t
    | M.V_float(_,t) -> not_of_float t
    | M.V_pointer(_,loc) -> not_of_ptr loc
    | _ -> assert false