Fixed: “if ... && var = ...” no longer makes “var” be nilable inside the if
Simplified some compiler code thanks to the previous commit