public override LazyNumber Eval(LazyNumber v1, LazyNumber v2) { return(new FunLazyNumberS(() => op.Invoke(v1.Eval(), v2.Eval()))); }
public override LazyNumber EvalUnary(LazyNumber v) { return(new FunLazyNumberS(() => this.op.Invoke(v.Eval()))); }