     }
 }
 
+/// Int is convertible to and from SQLiteValue.
 extension Int: SQLiteValueConvertible {
+    
+    /// Returns a SQLite value that can be stored in the database.
     public var sqliteValue: SQLiteValue {
         return .Integer(Int64(self))
     }
     
+    /// Create an instance initialized to `sqliteValue`.
     public init?(sqliteValue: SQLiteValue) {
         switch sqliteValue {
         case .Integer(let int64):

// THE SOFTWARE.


public protocol SQLiteValueConvertible {
    var sqliteValue: SQLiteValue { get }
    init?(sqliteValue: SQLiteValue)
}

extension Bool: SQLiteValueConvertible {
    public var sqliteValue: SQLiteValue {
        return .Integer(self ? 1 : 0)
    }
    
    public init?(sqliteValue: SQLiteValue) {
        // https://www.sqlite.org/lang_expr.html#booleanexpr
        //

            return nil
        }
    }
    
    /// Returns a SQLite value that can be stored in the database.
    public var sqliteValue: SQLiteValue {
        return .Blob(self)
    }
    
    /// Create an instance initialized to `sqliteValue`.
    public init?(sqliteValue: SQLiteValue) {
        switch sqliteValue {
        case .Blob(let blob):
