let index l ty i =
match l with
| Mloc l -> Mloc (M.index l ty i)
| Path p -> Path (add_index p i ty)
| PRef p -> PRef (add_index p i ty)
| ARef p -> ARef (add_index p i ty)
| PRpar(p,n)-> PRpar (add_index p i ty,n)
| ARpar (p,n) -> ARpar (add_index p i ty,n)