     GRMustache makes sure String and NSString have the same behavior: whatever
     the actual type of boxed strings, your templates render the same.
     
+    
+    Strings can be queried for the `length` key, which evaluates to the number
+    of characters in the string.
+    
+    ::
+    
+      // Renders "北京 has 2 characters."
+      let template = Template(string: "{{string}} has {{string.length}} characters.")!
+      let rendering = template.render(Box(["string": "北京"]))!
+      println(rendering)
+    
+    
     Whenever you want to extract a string out of a box, cast the boxed value to
     String or NSString:
     

/**
A function that wraps a collection of MustacheBoxable.

::

  let box = Box([1,2,3])
*/
public func Box<C: CollectionType where C.Generator.Element: MustacheBoxable, C.Index: BidirectionalIndexType, C.Index.Distance == Int>(collection: C?) -> MustacheBox {
    if let collection = collection {

    /**
    Let NSSet feed Mustache templates.
    
    Sets are Mustache collections: they iterate their content:
    
    ::
    
