See this comment
Generally, I think this exposes a bigger issue with the engine setup. Right now, it simplifies the AST, which has limitations. My guess is we will want to move simplification into the AST -> HIR process. This way, we can split out sub-statements to prevent having simplification recurse into them and hopefully avoid running the simplification pass many times.