     public var context: Context
     
     
+    // Not public
+    //
     // If true, the rendering is part of an enumeration. Some values don't
     // render the same whenever they render as an enumeration item, or alone:
     // {{# values }}...{{/ values }} vs. {{# value }}...{{/ value }}.

  // Renders "variable, section"
  template.render(Box(["object": Box(render)]))!

*/
public typealias RenderFunction = (info: RenderingInfo, error: NSErrorPointer) -> Rendering?



  // Renders "<strong>Hello Arthur</strong>"
  template.render(Box(["name": Box("Arthur")]))!


As seen in the example above, the returned rendering has a content type, text or
HTML. If you return text, the rendering is HTML-escaped in the final template
rendering (except for triple mustache tags and text templates - see the
Configuration type for more information about text templates).

::

  let HTML: RenderFunction = { (info: RenderingInfo, _) in
      return Rendering("<HTML>", .HTML)
  }
  let text: RenderFunction = { (info: RenderingInfo, _) in
      return Rendering("<text>")   // default content type is text
  }

  // Renders "<HTML>, &lt;text&gt;"
  let template = Template(string: "{{HTML}}, {{text}}")!
  let data = ["HTML": Box(HTML), "text": Box(text)]
  let rendering = template.render(Box(data))!


RenderFunction is invoked for both {{ variable }} and {{# section }}...{{/}}
tags. You can query info.tag.type in order to have a different rendering
