_firstNonEmpty
Produces the first parameter that is not empty. --
Function
RECEIVED -> _or(CLAUSE1, CLAUSE2, ...) -> RESULT
_or takes any number of parameters. It runs through each of them, applying the incoming context.
It produces the first one that returns a non-empty result, or None iff all of them come out empty.