     ///
     /// :param: block     A collation function that takes two strings and
     ///                   returns the comparison result.
-    public func create(#collation: String, _ block: (String, String) -> ComparisonResult) {
+    public func create(#collation: String, _ block: (lhs: String, rhs: String) -> ComparisonResult) {
         try {
             self.collations[collation] = { lhs, rhs in
-                return Int32(block(String.fromCString(lhs)!, String.fromCString(rhs)!).rawValue)
+                return Int32(block(lhs: String.fromCString(lhs)!, rhs: String.fromCString(rhs)!).rawValue)
             }
             return SQLiteCreateCollation(self.handle, collation, self.collations[collation])
         }

    /// Sets a handler to call when a statement is executed with the compiled
    /// SQL.
    ///
    /// :param: callback This block is executed as a statement is executed with
    ///                  the compiled SQL as an argument. E.g., pass println to
    ///                  act as a logger.
    public func trace(callback: (String -> ())?) {
        if let callback = callback {
            trace = { callback(String.fromCString($0)!) }
        } else {
            trace = nil
        }

    ///                  number of times it’s been called for this lock. If it
    ///                  returns true, it will try again. If it returns false,
    ///                  no further attempts will be made.
    public func busy(callback: ((tries: Int) -> Bool)?) {
        try {
            if let callback = callback {
                self.busy = { callback(tries: Int($0)) ? 1 : 0 }
            } else {
                self.busy = nil
            }
