Retrieves the value of the field at the specified path.

        :param path: str or Path instance
        :param name:
        :type name: str
        :return:
        :raises ValueError: A component of path is a field name.
        :raises KeyError: A component of path doesn't exist.
        :raises TypeError: The field name is a component of a path.

def get_field(self, path, name):
        """
        Retrieves the value of the field at the specified path.

        :param path: str or Path instance
        :param name:
        :type name: str
        :return:
        :raises ValueError: A component of path is a field name.
        :raises KeyError: A component of path doesn't exist.
        :raises TypeError: The field name is a component of a path.
        """
        try:
            value = self.get(path, name)
            if not isinstance(value, str):
                raise TypeError()
            return value
        except KeyError:
            raise KeyError()