Use of array literals and array functions outside of rollup column


I have a table with a few optional text fields, and want to create a formula column that concatenates the existing values in those fields with a space separator. It would be great to do this as:

ARRAYJOIN(ARRAYCOMPACT([Field1,Field2,Field3]), " ")

But this results in an error, presumably because the array functions are used outside of a rollup column, or because array literals composed of field names is not supported.

The workaround for this is very nasty, requiring a lot of IFs in order to test whether each field is populated before adding the space separator. More flexibility with array literals and array functions could be really useful in a variety of text situations.