using Nub.Lib; namespace Nub.Lang.Parsing; public class FuncDefinitionNode(string name, IReadOnlyCollection parameters, BlockNode body, Optional returnType) : DefinitionNode { public string Name { get; } = name; public IReadOnlyCollection Parameters { get; } = parameters; public BlockNode Body { get; } = body; public Optional ReturnType { get; } = returnType; public override string ToString() => $"{Name}({string.Join(", ", Parameters.Select(p => p.ToString()))}){(ReturnType.HasValue ? ": " + ReturnType.Value : "")}"; }