code: def render(element, level=0):
      
  
      if hasattr(element, 'render'):
          return element.render(level)
      elif isinstance(element, basestring):
          return _render_string(element, level)
      elif hasattr(element, '__iter__'):
          return _render_iteratable(element, level)
      elif element is None:
          return ''
  
      raise TypeError('Cannot render %r' % element)
docs: Renders the HTML builder `element` and it's children to a string.
      Example::
  
          >>> print(
          ...     render(
          ...         html.form(action='/search', name='f')(
          ...             html.input(name='q'),
          ...             html.input(name='search_button', type='submit')
          ...         )
          ...     )
          ... )
          <form action="/search" name="f">
            <input name="q" />
            <input type="submit" name="search_button" />
          </form>
  
      The :func:`render` function accepts the following arguments:
  
      :param element: element created through the `html` builder instance, a list
                      of such elements, or just a string.
      :param level: indentation level of the rendered element with a step of two
                    spaces.  If `level` is `None`, the `element` will be rendered
                    without indentation and new line transferring, passing the
                    same rule to the child elements.