title: Is this a bug in the book "The Swift Programming Language"
body: <p>This is my code:</p>
  
  <pre><code>struct Bank {
      static var coinsInBank = 10_000
      static func vendCoins(var numberOfCoinsToVend: Int) -&gt; Int {
          numberOfCoinsToVend = min(numberOfCoinsToVend, coinsInBank)
          coinsInBank -= numberOfCoinsToVend
          return numberOfCoinsToVend
      }
      static func receiveCoins(coins: Int) {
          coinsInBank += coins
      }
  }
  
  class Player {
      var coinsInPurse: Int
      init(coins: Int) {
          coinsInPurse = Bank.vendCoins(coins)
      }
      func winCoins(coins: Int) {
          coinsInPurse += Bank.vendCoins(coins)
      }
      deinit {
          Bank.receiveCoins(coinsInPurse)
      }
  }
  
  var playerOne: Player? = Player(coins: 100)
  println("A new player has joined the game with \(playerOne!.coinsInPurse) coins")
  // prints "A new player has joined the game with 100 coins"
  println("There are now \(Bank.coinsInBank) coins left in the bank")
  // prints "There are now 9900 coins left in the bank"
  
  playerOne!.winCoins(2_000)
  println("PlayerOne won 2000 coins &amp; now has \(playerOne!.coinsInPurse) coins")
  // prints "PlayerOne won 2000 coins &amp; now has 2100 coins"
  println("The bank now only has \(Bank.coinsInBank) coins left")
  // prints "The bank now only has 7900 coins left"
  
  playerOne = nil
  println("PlayerOne has left the game")
  // prints "PlayerOne has left the game"
  println("The bank now has \(Bank.coinsInBank) coins")
  // prints "The bank now has 7900 coins"
  </code></pre>
  
  <p>In the last line, my result is 7900, but the book says the result should be 10000.
  Are there any typo in my code, or it is a bug of the book? If it is, how should I reset the coinsInBank for another player?
  Thank you!</p>