actor BankAccount {
  // ....
  var isOpen = true
  
   func close() async throws -> Double {
        if isOpen {
            do {
                try await BankServer.requestToClose(self.id)
                if self.isOpen {
                    self.isOpen = false
                    return self.balance
                } else {
                    throw BankError.alreadyClosed
                }
            } catch {
                throw BankError.cannotClose
            }
        } else {
            throw BankError.alreadyClosed
        }
    }
}