public Constant(int value) : this(Val.Int(value)) { }
public Graph Bind(Node node1, Node node2, Val val = null) => Bind(new[] { node1, node2 }, val);
public Constant(Val val) { Node = new Node( $"Const({val})@{Id}:N", (self, g, v) => (g, val)); }
public Graph Bind(Node node, Val val) => Bind(new[] { node }, val);
public BindState WithVal(Val v) => new BindState(Nodes, Val.Combine(Val, v));
private BindState(IEnumerable <Node> nodes, Val val = null) { Nodes = nodes?.ToImmutableHashSet() ?? ImmutableHashSet <Node> .Empty; Val = val ?? Val.Any; }
public (Graph, Val) Impel(Graph g, Val v) => _fn(_fn, g, v);
public delegate(Graph, Val) Handler(Handler self, Graph g, Val v);