     
     func hasNull(atUncheckedIndex index: Int) -> Bool {
         let mappedIndex = mapping.baseColumnIndex(atMappingIndex: index)
-        return base.impl.hasNull(atUncheckedIndex: mappedIndex)
+        return base.impl.hasNull(atUncheckedIndex: mappedIndex) // base.impl: Demeter violation
     }
     
     func databaseValue(atUncheckedIndex index: Int) -> DatabaseValue {
         let mappedIndex = mapping.baseColumnIndex(atMappingIndex: index)
-        return base.impl.databaseValue(atUncheckedIndex: mappedIndex)
+        return base.impl.databaseValue(atUncheckedIndex: mappedIndex) // base.impl: Demeter violation
     }
     
     func fastDecode<Value: DatabaseValueConvertible & StatementColumnConvertible>(

        debugInfo: @autoclosure () -> ValueConversionDebuggingInfo) throws -> Value?
    {
        let mappedIndex = mapping.baseColumnIndex(atMappingIndex: index)
        return try base.impl.fastDecodeIfPresent(Value.self, atUncheckedIndex: mappedIndex, debugInfo: debugInfo)
    }
    
    func dataNoCopy(

        debugInfo: @autoclosure () -> ValueConversionDebuggingInfo) throws -> Value
    {
        let mappedIndex = mapping.baseColumnIndex(atMappingIndex: index)
        return try base.impl.fastDecode(Value.self, atUncheckedIndex: mappedIndex, debugInfo: debugInfo) // base.impl: Demeter violation
    }
    
    func fastDecodeIfPresent<Value: DatabaseValueConvertible & StatementColumnConvertible>(
