What's the purpose of `Fn()` in TSL?

I love it. Being able to patch the API like this for example is great. (I do hope that those shadow nodes APIs can be made into more ergonomic extension properties (like material.positionNode) instead of patching, but hey it worked).

The new shader parts are organized in relevant classes rather than a separate string lib, so patching/overriding/extending logic of a method feels right at home. Plus it’s more readable than string patching.

Yeah math expressions can be more verbose, but I think it’s a good tradeoff, especially because no build needed (very aligned with web standards), IDE support (TypeScript) out of the box (though it still needs a lot of improvements, WIP), and backend agnostic (GLSL/WGSL, maybe others outside of web at some point like HSL/MSL/Slang/etc).