     public typealias RowDecoder = T
     
     public var sql: String
-    public var arguments: StatementArguments?
+    public var arguments: StatementArguments
     public var adapter: RowAdapter?
     private let cache: Cache?
     

        case .internal?:
            statement = try db.internalCachedSelectStatement(sql)
        }
        if let arguments = arguments {
            try statement.setArgumentsWithValidation(arguments)
        }
        return (statement, adapter)
    }
    

    /// - returns: A SQLRequest
    init(_ sql: String, arguments: StatementArguments? = nil, adapter: RowAdapter? = nil, fromCache cache: Cache?) {
        self.sql = sql
        self.arguments = arguments ?? StatementArguments()
        self.adapter = adapter
        self.cache = cache
    }
