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_loc loc
    | v -> WpLog.fatal "[not_of_value] %a" M.pp_value v