I haven't been able to see any other way of doing this, but if you have a better solution I'm all ears. (I don't want to go with always placing the expression on the next line)
I'm not entirely sure that I'm interpreting the invariant listed in the code correctly (all layouts of the two arguments flatten to the same layout), but I haven't been able to see any major problems with exposing alt.
I've run into trouble when printing long let bindings in a compiler:
gives
By exposing
alt
I can now do this:which gives
I haven't been able to see any other way of doing this, but if you have a better solution I'm all ears. (I don't want to go with always placing the expression on the next line)
I'm not entirely sure that I'm interpreting the invariant listed in the code correctly (all layouts of the two arguments flatten to the same layout), but I haven't been able to see any major problems with exposing
alt
.