The example
= LET(filterCriteria, “Fred”,
filteredRange, FILTER(A2:D8, A2:A8=filterCriteria),
IF(ISBLANK(filteredRange),"-",filteredRange))
troubles me.
It has many features of a programming approach to the solution; the downside being that it makes the process inaccessible to most end users, though professional developers should welcome it. Yet, at the same time, one sees
FILTER( A2:D8, A2:A8=filterCriteria)
which includes direct cell referencing. If one is encouraging developers to use a programming style to create solutions, is it a good idea to uses techniques that would be condemned as poor practice in a programming environment? There, one is expected to declare all variables prior to first usage [Option Explicit if one is thinking VBA]. I advocate eliminating all direct referencing in favour of defined names, in order introduce a level of prior declaration that prevents cells that do not form part of the model from being referenced.
What may come back to haunt us is Dan Bricklin's comment on VisiCalc:
'It would be possible to do things the programmer's way, but that would be tedious'