This is a creative idea... and I think this sort of creativity is what makes the language fun... having so many different ways to attack problems!
But in this particular case, you could actually use CHAIN to build the composite function, and it might be more obvious:
imagemagick: func [
data
/monochrome
/sharpen
/blur
/pixelise
][
... code ..
return run chain reduce [
if sharpen [:sharpenf]
if blur [:blurf]
if pixelize [:pixelf]
] data
]
So to have invisibles vaporize anything, you'd need to go through a COMPOSE or REDUCE step and then DO the result... so not that succinct. CHAIN is a better bet here.
Though at time of writing, you can get the original intent with macros:
sharpen: macro [] [return if sharpen [sharpenf]]
blur: macro [] [return if blur [blurf]]
pixelise: macro [] [return if pizelize [pixelf]]
return sharpen blur pixelise data