Note: looks like we need to split CIRSimplify into two different passes, pass A, that does basic cleanup pre-analysis (e.g. lifetime checker) to clean up empty scope, try's and thing that don't change CIR-to-source fidelity too much. Pass B should apply the other more opt like foldings.
Originally posted by @bcardosolopes in #816 (review)