Just to think over what would happen if users start to use delayed a la carte:
mapvalues -- returning delayed(f)(x) is completely OK. The chaining of lazy values should work as expected. Calling delayed functions with other values which may themselves be delayed is OK. But calling it with say an array of delayed values is not.
mapsubtrees -- returning delayed(f)(x) will work but not when f(x) is a FileTree. However, a FileTree with delayed values is OK.
reducevalues -- seems fine again. as in 1.
cc @DrChainsaw
Just to think over what would happen if users start to use
delayeda la carte:mapvalues-- returningdelayed(f)(x)is completely OK. The chaining of lazy values should work as expected. Callingdelayedfunctions with other values which may themselves bedelayedis OK. But calling it with say an array of delayed values is not.mapsubtrees-- returningdelayed(f)(x)will work but not whenf(x)is a FileTree. However, a FileTree withdelayedvalues is OK.reducevalues-- seems fine again. as in 1.cc @DrChainsaw