     public func addFavicon(icon: Favicon) -> Deferred<Result<Int>> {
         var err: NSError?
         let res = db.withWritableConnection(&err) { (conn, inout err: NSError?) -> Int in
-            // Blind!
+            // Blind! We don't see failure here.
             let id = self.favicons.insertOrUpdate(conn, obj: icon)
             return id ?? 0
         }

    public func clearFavicons() -> Success {
        var err: NSError? = nil

        // TODO: this should happen asynchronously.
        db.withWritableConnection(&err) { (conn, inout err: NSError?) -> Int in
            err = conn.executeChange("DELETE FROM faviconSites", withArgs: nil)
            if err == nil {

        return site
    }

    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)
        }
