     /// - parameter sequence: A sequence of (key, value) pairs
     /// - returns: A StatementArguments.
     public init<Sequence: SequenceType where Sequence.Generator.Element == (String, DatabaseValueConvertible?)>(_ sequence: Sequence) {
-        kind = .NamedValues(ShortDictionary(sequence))
+        kind = .NamedValues(OptimisticDictionary(sequence))
     }
     
     public var isEmpty: Bool {

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

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