 To build a filter, you use the `Filter()` function. It takes a function as an
 argument. For example:
     
-    let increment = Filter { (x: Int?, _) in
+    let increment = Filter { (x: Int?) in
         return Box(x! + 1)
     }
 
 To let a template use a filter, register it:
 
-    let template = Template(string: "{{increment(x)}}")!
+    let template = try! Template(string: "{{increment(x)}}")
     template.registerInBaseContext("increment", Box(increment))
     
     // "2"
-    template.render(Box(["x": 1]))!
+    try! template.render(Box(["x": 1]))
 
 `Filter()` can take several types of functions, depending on the type of filter
 you want to build. The example above processes `Int` values. There are three

        "bold": Box(bold)]

    // Renders "<b>Lionel Richie has a Mustache.</b>"
    let rendering = template.render(Box(data))!

- parameter lambda:  A `String -> String` function
- returns: A RenderFunction

they are about to render.

    let logTags: WillRenderFunction = { (tag: Tag, box: MustacheBox) in
        print("\(tag) will render \(box.value!)")
        return box
    }

    // By entering the base context of the template, the logTags function
    // will be notified of all tags.
    let template = try! Template(string: "{{# user }}{{ firstName }} {{ lastName }}{{/ user }}")
    template.extendBaseContext(Box(logTags))

    // Prints:
    // {{# user }} at line 1 will render { firstName = Errol; lastName = Flynn; }
    // {{ firstName }} at line 1 will render Errol
    // {{ lastName }} at line 1 will render Flynn
    let data = ["user": ["firstName": "Errol", "lastName": "Flynn"]]
    try! template.render(Box(data))

`WillRenderFunction` don't have to enter the base context of a template to
perform: they can enter the context stack just like any other value, by being
attached to a section. In this case, they are only notified of tags inside that
section.

    let template = try! Template(string: "{{# user }}{{ firstName }} {{# spy }}{{ lastName }}{{/ spy }}{{/ user }}")

    // Prints:
    // {{ lastName }} at line 1 will render Flynn
    let data = [
        "user": Box(["firstName": "Errol", "lastName": "Flynn"]),
        "spy": Box(logTags)
    ]
    try! template.render(Box(data))
*/
public typealias WillRenderFunction = (tag: Tag, box: MustacheBox) -> MustacheBox

