         )
     }
     
-    public func primitiveValue<V: ImportableAttributeType>(for property: (O) -> ValueContainer<O>.Required<V>) -> V {
-        
-        return V.cs_fromImportableNativeType(
-            self.rawObject.primitiveValue(forKey: property(O.meta).keyPath)! as! V.ImportableNativeType
-            )!
-    }
-    
-    public func primitiveValue<V: ImportableAttributeType>(for property: (O) -> ValueContainer<O>.Optional<V>) -> V? {
-        
-        return (self.rawObject.primitiveValue(forKey: property(O.meta).keyPath) as! V.ImportableNativeType?)
-            .flatMap(V.cs_fromImportableNativeType)
-    }
-    
-    public func primitiveValue<V: NSCoding & NSCopying>(for property: (O) -> TransformableContainer<O>.Required<V>) -> V {
-        
-        return self.rawObject.primitiveValue(forKey: property(O.meta).keyPath)! as! V
-    }
-    
     public func primitiveValue<V: NSCoding & NSCopying>(for property: (O) -> TransformableContainer<O>.Optional<V>) -> V? {
         
         return self.rawObject.primitiveValue(forKey: property(O.meta).keyPath) as! V?
-    }
-    
-    public func setPrimitiveValue<V: ImportableAttributeType>(_ value: V, for property: (O) -> ValueContainer<O>.Required<V>) {
-        
-        self.rawObject.setPrimitiveValue(
-            value.cs_toImportableNativeType(),
-            forKey: property(O.meta).keyPath
-        )
-    }
-    
-    public func setPrimitiveValue<V: ImportableAttributeType>(_ value: V?, for property: (O) -> ValueContainer<O>.Optional<V>) {
-        
-        self.rawObject.setPrimitiveValue(
-            value?.cs_toImportableNativeType(),
-            forKey: property(O.meta).keyPath
-        )
-    }
-    
-    public func setPrimitiveValue<V: NSCoding & NSCopying>(_ value: V, for property: (O) -> TransformableContainer<O>.Required<V>) {
-        
-        self.rawObject.setPrimitiveValue(
-            value,
-            forKey: property(O.meta).keyPath
-        )
     }
     
     public func setPrimitiveValue<V: NSCoding & NSCopying>(_ value: V?, for property: (O) -> TransformableContainer<O>.Optional<V>) {

        )
    }
    
    public func setValue<V: ImportableAttributeType>(_ value: V?, for property: (O) -> ValueContainer<O>.Optional<V>) {
        
        self.rawObject.setValue(
            value?.cs_toImportableNativeType(),
            forKey: property(O.meta).keyPath
        )
    }
    
    public func setValue<V: NSCoding & NSCopying>(_ value: V, for property: (O) -> TransformableContainer<O>.Required<V>) {

        return O.cs_fromRaw(object: self.rawObject)
    }
    
    
    // MARK: Value.Required utilities
    
    public func value<V: ImportableAttributeType>(for property: (O) -> ValueContainer<O>.Required<V>) -> V {
        
        return V.cs_fromImportableNativeType(
            self.rawObject.value(forKey: property(O.meta).keyPath)! as! V.ImportableNativeType
        )!
    }
    
    public func setValue<V: ImportableAttributeType>(_ value: V, for property: (O) -> ValueContainer<O>.Required<V>) {
