code: def info(
          self,
          fs,  # type: FS
          path="/",  # type: Text
          namespaces=None,  # type: Optional[Collection[Text]]
      ):
          # type: (...) -> Iterator[Tuple[Text, Info]]
          
          _combine = combine
          _walk = self._iter_walk(fs, path=path, namespaces=namespaces)
          for _path, info in _walk:
              if info is not None:
                  yield _combine(_path, info.name), info
docs: Walk a filesystem, yielding tuples of ``(<path>, <info>)``.
  
          Arguments:
              fs (FS): A filesystem instance.
              path (str): A path to a directory on the filesystem.
              namespaces (list, optional): A list of additional namespaces
                  to add to the `Info` objects.
  
          Yields:
              (str, Info): a tuple of ``(<absolute path>, <resource info>)``.