let mloc_of_path m x poff =
      List.fold_left
        (fun loc offset ->
          match offset with
            | Ofield f -> M.field loc f
            | Oindex(k,te) -> M.index loc te k
        ) (M.cvar m x) poff