         
         // A cluster that wraps itself
         struct CustomValue4: Cluster, Traversable {
+            let name: String
             let mustacheBool = true
             var mustacheTraversable: Traversable? { return self }
             let mustacheFilter: Filter? = nil
             let mustacheTagObserver: TagObserver? = nil
             let mustacheRenderable: Renderable? = nil
             
+            init(name: String) {
+                self.name = name
+            }
+            
             func valueForMustacheIdentifier(identifier: String) -> Value? {
                 return Value()
             }
         }
         
         let filter1 = { (value: CustomValue1?) -> (Value?) in
-            if value != nil {
-                return Value("custom1")
+            if let value = value {
+                return Value(value.name)
             } else {
                 return Value("other")
             }
         }
 
         let filter2 = { (value: CustomValue2?) -> (Value?) in
-            if value != nil {
-                return Value("custom2")
+            if let value = value {
+                return Value(value.name)
             } else {
                 return Value("other")
             }
         }
 
         let filter3 = { (value: CustomValue3?) -> (Value?) in
-            if value != nil {
-                return Value("custom3")
+            if let value = value {
+                return Value(value.name)
             } else {
                 return Value("other")
             }
         }
         
         let filter4 = { (value: CustomValue4?) -> (Value?) in
-            if value != nil {
-                return Value("custom4")
+            if let value = value {
+                return Value(value.name)
             } else {
                 return Value("other")
             }

        
        // A cluster
        struct CustomValue3: Cluster {
            let mustacheBool = true
            var mustacheTraversable: Traversable? = nil
            let mustacheFilter: Filter? = nil
            let mustacheTagObserver: TagObserver? = nil
            let mustacheRenderable: Renderable? = nil

            func valueForMustacheIdentifier(identifier: String) -> Value? {
                return Value()

        
        // A single protocol that is wrapped in a Cluster
        struct CustomValue1: Traversable {
            let name: String
            func valueForMustacheIdentifier(identifier: String) -> Value? {
                return Value()
            }
