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

            case .NamedValues(let namedValues):
                return sqliteArgumentNames.map { argumentName in
                    if let argumentName = argumentName {
                        for (name, value) in namedValues where name == argumentName {
                            return (argumentName, value?.databaseValue ?? .Null)
                        }
                        return (argumentName, nil)
                    }
                    return (nil, nil)
                }

            }
            break
        case .NamedValues(let namedValues):
            for (index, argumentName) in sqliteArgumentNames.enumerate() {
                if let argumentName = argumentName, let value = namedValues[argumentName] {
                    try! bindDatabaseValue(value?.databaseValue ?? .Null, atIndex: Int32(index + 1))
                }
            }
        }
