code: def _realpath(fs, path, seen=pset()):
      
  
      real = Path.root()
      for segment in path.segments:
          current = real / segment
          seen = seen.add(current)
          while True:
              try:
                  current = fs.readlink(current)
              except (exceptions.FileNotFound, exceptions.NotASymlink):
                  break
              else:
                  current = current.relative_to(real)
                  if current in seen:
                      raise exceptions.SymbolicLoop(path)
                  current = fs.realpath(current, seen=seen)
          real = current
      return real
docs: .. warning::
  
          The ``os.path`` module's realpath does not error or warn about
          loops, but we do, following the behavior of GNU ``realpath(1)``!