     ///
     /// - parameter persistentToken: The persistent token to delete.
     ///
-    /// - returns: A boolean indicating whether the token was successfully deleted.
+    /// - throws: A `Keychain.Error` if the deletion did not succeed.
     public func deletePersistentToken(persistentToken: PersistentToken) throws {
         try deleteKeychainItemForPersistentRef(persistentToken.identifier)
     }

    ///
    /// - parameter token: The token to save to the keychain.
    ///
    /// - returns: The new persistent token, or `nil` if an error has occured.
    public func addToken(token: Token) throws -> PersistentToken {
        guard let attributes = token.keychainAttributes else {
            throw Error.TokenSerializationFailure

    /// - parameter persistentToken: The persistent token to update.
    /// - parameter token: The new token value.
    ///
    /// - throws: A `Keychain.Error` if the update did not succeed.
    /// - returns: The updated persistent token.
    public func updatePersistentToken(persistentToken: PersistentToken,
        withToken token: Token) throws -> PersistentToken
    {
