let not_above_root (p : abs t) =
  match p with
  | (`Abs, ph :: pt) ->
      let () = assert (ph = ""in
      let pt' = List.drop_while (( = ) "..") pt
      in if pt == pt' then p else (`Abs, ("" :: pt'))
  | (`Abs, []) -> assert false