 // =============================================================================
 // MARK: RenderFunction
 
-
 /**
 RenderFunction lets you implement custom rendering functions. This is how, for
 example, you implement "lambdas", in Mustache lingo.

// - RenderFunction renders Mustache tags: {{name}} and {{#items}}...{{/items}}
//   both invoke a RenderFunction
//
// - WillRenderFunction can TODO
// - DidRenderFunction can TODO
//
//
// =============================================================================
// MARK: SubscriptFunction

public typealias SubscriptFunction = (key: String) -> MustacheBox?



      return Rendering("foo")
  }
  
  let template = Template(string: "{{#section}}variable: {{variable}}{{/section}}")!
  
  // Attach the render function to `variable`, and render "variable: foo"
  let data1 = ["section": Box(["variable": Box(render)])]
  let rendering1 = template.render(Box(data1))!

  // Attach the render function to `section`, and render "foo"
  let data2 = ["section": Box(render)]
  let rendering2 = template.render(Box(data2))!
*/
public typealias RenderFunction = (info: RenderingInfo, error: NSErrorPointer) -> Rendering?


/**
A Rendering is a tainted String, which knows its content type, Text or HTML.
