         self.codingPath = decoder.codingPath
     }
     
+    /// Computes a list of all keys inside this row
     var allKeys: [Key] {
         guard case .keyed(let keyed) = decoder.either else {
             return []

        }
    }
    
    public func decode(_ type: Column) throws -> Bool {
        let value = try either.getValue()
        

    }
}

/// Decodes a column's value
struct ColumnContainer: SingleValueDecodingContainerHelper {
    /// The coding path being accessed
    var codingPath: [CodingKey]
    
    /// A reference to the current decoder state
    let decoder: RowDecoder
    
    /// Creates a new columncontainer
    init(decoder: RowDecoder) {
        self.decoder = decoder
        self.codingPath = decoder.codingPath
    }
    
    /// Decodes a generic decodable
    public func decode<T>(_ type: T.Type) throws -> T where T : Decodable {
        let value = try decoder.either.getValue()
        
