     
     // MARK: - Changes
     
-    /// A boolean that indicates whether the row model has changes that have not
-    /// been saved.
+    /**
+    A boolean that indicates whether the `self` has changes that have not been
+    saved.
+    */
     public var isEdited: Bool {
         guard let referenceRow = referenceRow else {
             // No reference row => edited


/// A RowModel-specific error
public enum RowModelError: ErrorType {
    /// RowModel.databaseTable returns nil
    case UnspecifiedTable(RowModel.Type)
    


// MARK: - RowModel

/**
RowModel is a class that wraps a table row, or the result of any query. It is
designed to be subclassed.

Subclasses opt in RowModel features by overriding all or part of the core
methods that define their relationship with the database:

- setDatabaseValue(_:forColumn:)
- databaseTable
- storedDatabaseDictionary
*/
public class RowModel {
    
    /// A primary key.
    public enum PrimaryKey {
        
        /// A primary key managed by SQLite.
        case RowID(String)
        
