Since assert would consume all gas and require would return all gas, Is there any reason to use assert not require? My current understanding gas is like energy, like ether, like money, so why using assert? I saw some explanation in https://ethereum.stackexchange.com/questions/15166/difference-between-require-and-assert-and-the-difference-between-revert-and-thro but I don't get it, why choosing a command that consuming all gas, any benefit?