let index l ty i =
    match l with
      | Mloc l -> Mloc (M.index l ty i)
      | Path (m,x,off,_obj) -> Path(m,x, off@[Lookup.Oindex (i,ty)], ty)