docs: def output_tree(self, t, seen):
          """Given a dependency tree of objects, output it in DFS order."""
          if not t:
              return
          for c in t.children:
              self.output_tree(c, seen)
          if t.name in seen:
              return
          seen[t.name] = True
          if t.resource_name:
              output_class(t.name, t.props, self.override, t.resource_name)
          else:
              output_class(t.name, t.props, self.override)