This works well until you accidentally have an if/else branch, then you get hard to track bugs (halting problem in the general case).
I'm guessing this is why they don't propose to add this function to the standard: That fact makes it not very pretty.