> Should the if-else be converted to if-if so that this else-part gets a chance to run if changes were made in the first if-test?

No.  Or "elif expr:" branch gets a chance to run for expr.is_Order is True.  I think, this is wrong.