 		case .double: return (value as! IvarToken<Double>).value as AnyObject
 		case .data: return (value as! IvarToken<Data>).value as AnyObject
 		case .string: return (value as! IvarToken<String>).value as AnyObject
+        case .bool: return (value as! IvarToken<Bool>).value as AnyObject
 		default: return nil
 		}
 	}

                    let typeString = String(reflecting: type(of: child.value))
					let classType = self.parseGenericType(typeString, enclosing: "Swift.Array")
					guard let recovered = NSClassFromString(classType) else {
						switch classType
							.replacingOccurrences(of: "Swift.", with: "")
							.replacingOccurrences(of: "Foundation.", with: "") {
						case "Int": return Array<Int>.self
						case "Int8": return Array<Int8>.self
						case "Int16": return Array<Int16>.self

						case "Double": return Array<Double>.self
						case "String": return Array<String>.self
						case "Data": return Array<Data>.self
                        case "Bool": return Array<Bool>.self
						default:
							throw NSError(domain: "Unsupported array type \(classType). Unkown reason yet.", code: -1)
						}
