         _parent = parent
     }
     
-    public var description: String {
+    public override var description: String {
         if let parent = _parent {
             return (parent.description == "" ? "" : ".") + _name!
         } else {

    init(_ name: String, parent: AttributeType?)
}

public class Attribute : AttributeType {
    
    private let _name: String?
    private let _parent: AttributeType?
    
    public required init() {
        _name = nil
        _parent = nil
    }

}

public func ||(lhs: NSPredicate, rhs: NSPredicate) -> NSPredicate {
    let c: CVarArgType? = nil
    return NSCompoundPredicate.orPredicateWithSubpredicates([lhs, rhs])
}

public func ==<A: AttributeType>(lhs: A, rhs: NSNumber) -> NSPredicate {
    return NSPredicate(format: "%K == %@", lhs.description, rhs)
}

public func ==<A: AttributeType>(lhs: A, rhs: NSObject) -> NSPredicate {
    return NSPredicate(format: "%K == %@", lhs.description, rhs)
}

