docs: def render(self, element):
          """Renders the given element to string.
  
          :param element: a element to be rendered.
          :returns: the output string or any values.
          """
          # Store the root node to provide some context to render functions
          if not self.root_node:
              self.root_node = element
          render_func = getattr(
              self, self._cls_to_func_name(element.__class__), None)
          if not render_func:
              render_func = self.render_children
          return render_func(element)