Is there any point in asserting msg.sender != address(0) in smart contract? I did it for one of my contracts, it allows you to be sure that the amount doesn't vanish + may help to debug