 
 private struct RowKeyedDecodingContainer<Key: CodingKey>: KeyedDecodingContainerProtocol {
     let decoder: RowDecoder
-    
+    var codingPath: [CodingKey] { return decoder.codingPath }
+
     init(decoder: RowDecoder) {
         self.decoder = decoder
     }
-    
-    var codingPath: [CodingKey] { return decoder.codingPath }
     
     /// All the keys the `Decoder` has for this container.
     ///

    }
    
    func singleValueContainer() throws -> SingleValueDecodingContainer {
        return RowSingleValueDecodingContainer(row: row, codingPath: codingPath, column: codingPath.last!, columnIndex: columnIndex)
    }
}

private struct JSONDecodingRequiredError: Error { }

extension FetchableRecord where Self: Decodable {

}

private struct RowSingleValueDecodingContainer: SingleValueDecodingContainer {
    var row: Row
    var columnIndex: Int
    var codingPath: [CodingKey]

    /// Decodes a null value.
    ///
    /// - returns: Whether the encountered value was null.
