Defines an internal record representing a built-in effect function, holding a parameter signature string, a return value kind, and a delegate that takes evaluated arguments and returns a value. Used by the effect interpreter to validate arguments before invoking the body.
namespace SboxSuperuser.Core.Effects; /// <summary> /// A built-in function. <see cref="Parameters"/> has one letter per parameter: n number, c color, t text, /// s text or list. Arguments are checked against it before <see cref="Body"/> runs. /// </summary> internal sealed record EffectFunction( string Parameters, EffectValueKind Returns, Func<EffectValue[], EffectValue> Body );