 
 }
 
+// MARK: nullable (comparable to nil) attribute
+
 public struct NullableAttribute<T>: NullableAttributeType {
 
     public typealias ValueType = T

    
}

extension Attribute where T: CollectionType {
    
    public var count: Attribute<Int> {
        return Attribute<Int>(self.___name + ".@count")
    }
    
}

//

import Foundation

// MARK: - non nullable attribute

public struct Attribute<T>: AttributeType {
    
