My personal experience agrees with the article: it’s pretty bad, but it works and there aren’t really better alternatives.

One thing not mentioned is that it’s hard to debug: you better ensure your lowering algorithm is working or at least adding debug metadata properly, otherwise you’ll get SEGFAULTS in raw assembly code (or incorrect debug metadata). But most of the alternatives wouldn’t be much better.