         return site
     }
 
-    private func runQuery<T>(sql: String, args: Args?, factory: (SDRow) -> T) -> Deferred<Result<Cursor<T>>> {
+    private func runQuery<T>(sql: String, args: Args?, factory: SDRow -> T) -> Deferred<Result<Cursor<T>>> {
         func f(conn: SQLiteDBConnection, inout err: NSError?) -> Cursor<T> {
             return conn.executeQuery(sql, factory: factory, withArgs: args)
         }

        func doChange(query: String, args: Args?) -> Deferred<Result<Int>> {
            var err: NSError?
            let res = db.withWritableConnection(&err) { (conn, inout err: NSError?) -> Int in
                // Blind!
                let id = self.favicons.insertOrUpdate(conn, obj: icon)

                // Now set up the mapping.

    private class func iconHistoryColumnFactory(row: SDRow) -> Site {
        let site = basicHistoryColumnFactory(row)

        if let iconType = row["iconType"] as? Int,
           let iconURL = row["iconURL"] as? String,
           let iconDate = row["iconDate"] as? Double,
           let iconID = row["iconID"] as? Int {
                let date = NSDate(timeIntervalSince1970: iconDate)
                let icon = Favicon(url: iconURL, date: date, type: IconType(rawValue: iconType)!)
                site.icon = icon
