     
     enum Kind {
         case Values([DatabaseValueConvertible?])
-        case NamedValues(ShortDictionary<String, DatabaseValueConvertible?>)
+        case NamedValues(OptimisticDictionary<String, DatabaseValueConvertible?>)
     }
     
     let kind: Kind

}


// MARK: - ShortDictionary

struct ShortDictionary<Key, Value>: SequenceType {
    let pairs: [(Key, Value)]
    
    init<Sequence: SequenceType where Sequence.Generator.Element == (Key, Value)>(_ sequence: Sequence) {

    func generate() -> IndexingGenerator<[(Key, Value)]> {
        return pairs.generate()
    }
    
    subscript(key: Key) -> Value? {
        for (k, value) in pairs {
            if key == k {
