 		     .arrayInt16, .arrayInt32,
 		     .arrayInt64, .arrayFloat,
 		     .arrayDouble, .arrayString,
-		     .arrayData:
+		     .arrayData, .arrayBool:
 			return true
 		default:
 			return false

		(type == Int32.self && dataType == .int32) ||
		(type == Float.self && dataType == .float) ||
		(type == Double.self && dataType == .double) ||
		((type == String.self || type == NSString.self) && dataType == .string) ||
		((type == Data.self || type == NSData.self) && dataType == .data)
}

		case .arrayDouble: return try IvarArray<Double>()
		case .arrayString: return try IvarArray<String>()
		case .arrayData: return try IvarArray<Data>()
            // bool support
        case .bool: return try IvarToken<Bool>()
        case .arrayBool: return try IvarArray<Bool>()
		}
	}
}
