in Sources/SparkConnect/ArrowEncoder.swift [193:200]
mutating func doEncodeIf<T>(_ value: T?, forKey key: Key) throws {
if value == nil {
try encoder.ensureColumnExists(value, key: key.stringValue)
try encoder.doEncodeNil(key: key)
} else {
try encoder.doEncode(value, key: key)
}
}