 	/// - note: This function is automatically invoked by SQLite and is not normally called directly
 	///
 	/// - throws:  An error if SQLite shutdown fails
-	static func shutdown() throws {
+	public static func shutdown() throws {
 		let rc = sqlite3_shutdown()
 		guard rc == SQLITE_OK else {
 			throw SQLiteError("Error shutting down sqlite3", code: rc)

	/// - returns: `True` if `identifier` is an SQLite keyword, `False` otherwise
	///
	/// - seealso: [SQL Keyword Checking](https://www.sqlite.org/c3ref/keyword_check.html)
	static func isKeyword(_ identifier: String) -> Bool {
		return identifier.withCString {
			return sqlite3_keyword_check($0, Int32(strlen($0)))
		} != 0

	}

	/// The number of bytes of memory `malloc`ed but not yet `free`d by SQLite
	public static var memoryUsed: Int64 {
		return sqlite3_memory_used()
	}

	/// Returns the maximum amount of memory used by SQLite since the memory highwater mark was last reset.
	///
	/// - parameter reset: If `true` the memory highwater mark is reset to the value of `memoryUsed`
	public static func memoryHighwater(reset: Bool = false) -> Int64 {
		return sqlite3_memory_highwater(reset ? 1 : 0)
	}

