 						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)
 						}

                    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 .int64: self.populateIvarToken(value: value as! IvarToken<Int64>, intoObject: object); break
		case .float: self.populateIvarToken(value: value as! IvarToken<Float>, intoObject: object); break
		case .double: self.populateIvarToken(value: value as! IvarToken<Double>, intoObject: object); break
        case .bool: self.populateIvarToken(value: value as! IvarToken<Bool>, intoObject: object); break
		default: break
		}
	}
