Print this comparison and its children with indentation to represent
        nesting.

        :param level: The level of indentation to use. This is mostly for
                      internal use, but you can use it to inset the root
                      comparison.
        :param file: The stream to print to. Defaults to stdout.

def print_hierarchy(self, level: int = 0, file: IO[str] = sys.stdout) \
            -> None:
        """
        Print this comparison and its children with indentation to represent
        nesting.

        :param level: The level of indentation to use. This is mostly for
                      internal use, but you can use it to inset the root
                      comparison.
        :param file: The stream to print to. Defaults to stdout.
        """
        print(' ' * self._INDENT_SIZE * level + str(self), file=file)