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

    func generate() -> IndexingGenerator<[(Key, Value)]> {
        return pairs.generate()
    }
}

extension ShortDictionary where Key: Hashable /* Require Hashable to that ShortDictionary can be replaced with Dictionary */ {
    subscript(key: Key) -> Value? {
        for (k, value) in pairs {
            if key == k {

    /// - 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(OptimisticDictionary(sequence))
    }
    
    public var isEmpty: Bool {
