code: def _ascii_tree(self, indent: str, no_types: bool, val_count: bool) -> str:
          
          def suffix(sn):
              return f" {{{sn.val_count}}}\n" if val_count else "\n"
          if not self.children:
              return ""
          cs = []
          for c in self.children:
              cs.extend(c._flatten())
          cs.sort(key=lambda x: x.qual_name)
          res = ""
          for c in cs[:-1]:
              res += (indent + c._tree_line(no_types) + suffix(c) +
                      c._ascii_tree(indent + "|  ", no_types, val_count))
          return (res + indent + cs[-1]._tree_line(no_types) + suffix(cs[-1]) +
                  cs[-1]._ascii_tree(indent + "   ", no_types, val_count))
docs: Return the receiver's subtree as ASCII art.