Sushi: Some state variables should be immutable and have more specific types
The state variables `sushiBar` and `sushiAddr` are initialized in the contract's constructor and never changed afterward.\\n```\\ncontract SushiYieldSource is IYieldSource {\\n    using SafeMath for uint256;\\n    address public sushiBar;\\n    address public sushiAddr;\\n    mapping(address => uint256) public balances;\\n\\n    constructor(address \\_sushiBar, address \\_sushiAddr) public {\\n        sushiBar = \\_sushiBar;\\n        sushiAddr = \\_sushiAddr;\\n    }\\n```\\n\\nThey should be immutable; that would save some gas and make it clear that they won't (and can't) be changed once the contract has been deployed.\\nMoreover, they would better have more specific interface types than `address`, i.e., `ISushiBar` for `sushiBar` and `ISushi` for `sushiAddr`. That would be safer and make the code more readable.
Make these two state variables `immutable` and change their types as indicated above. Remove the corresponding explicit type conversions in the rest of the contract, and add explicit conversions to type `address` where necessary.
```\\ncontract SushiYieldSource is IYieldSource {\\n    using SafeMath for uint256;\\n    address public sushiBar;\\n    address public sushiAddr;\\n    mapping(address => uint256) public balances;\\n\\n    constructor(address \\_sushiBar, address \\_sushiAddr) public {\\n        sushiBar = \\_sushiBar;\\n        sushiAddr = \\_sushiAddr;\\n    }\\n```\\n