title: Type contract is not implicitly convertible to expected type address
body: <p>Issue while updating code to solidity 0.8.0</p>
  <pre><code>function reclaim() external onlyOwner {
      uint256 _balance = balances[this];
      balances[this] = 0;
      balances[owner] = balances[owner].add(_balance);
      emit Transfer(this, owner, _balance);
  }
  </code></pre>
  <p>Error</p>
  <pre><code>Type contract is not implicitly convertible to expected type address. 
  
  balances[this] = 0;
  ^^^^
  </code></pre>
  <p>I tried putting _balance(balances[this]) like suggested in another thread but it just kicked it all back to an Undeclared identifier unsure whether it is using _balance or balances at the uint256.</p>