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)