             }
         }()
         
-        // A primary key dictionary. At least one of its values is not nil.
+        /**
+        A dictionary of primary key columns that surely identifies a row in the
+        database. Hence its "strong" name.
+        
+        It is nil when the weakPrimaryKey is nil or only contains nil values.
+        */
         lazy var strongPrimaryKeyDictionary: [String: DatabaseValueConvertible?]? = {
             guard let dictionary = self.weakPrimaryKeyDictionary else {
                 return nil

            storedDatabaseDictionary = rowModel.storedDatabaseDictionary
        }
        
        /// Returns an optional (rowIDColumn, insertedRowID) if and only if the
        /// row model should be updated.
        func insert(db: Database) throws -> (String, Int64)? {
            // Fail early if databaseTable is nil (not overriden)
            guard let table = databaseTable else {

            }
        }
        
        /// UPDATE
        func save(db: Database) throws -> (String, Int64)? {
            if let _ = strongPrimaryKeyDictionary {
                do {
