public static IReq <T> OrNode <T>(this IOpt <T> x, Func <Node> y) where T : Node => x.HasNode ? x.AsReq() : new Req <T>(y());
public static IReq <T> Orr <T>(this IOpt <T> x, Func <IReq <T> > y) where T : Node => x.HasNode ? x.AsReq() : y();