public failure Via(V reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Failure(reason, p, m, l);
public static loop cont(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Forever(reason, p, m, l);
public static action done(V reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Action(reason, p, m, l);
public static failure fail(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Failure(reason, p, m, l);
public impending Via (V reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Impending(this, reason, p, m, l);
public action Via(V reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Action(reason, p, m, l);
public static X status(this bool self, ValidString reason = null, [P] string path = "", [M] string member = "", [L] int line = 0) => X.log ? Lg.Status(self ? X._done : X._fail, reason, path, member, line) : self ? X._done : X._fail;
public status Via(ValidString reason = null, [P] string path = "", [M] string member = "", [L] int line = 0) => log?Lg.Status(this, reason, path, member, line) : this;
public static status cont(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => log?Lg.Status(_cont, reason, p, m, l) : _cont;
public static action @void(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Action(reason, p, m, l);
public static status fail(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => log?Lg.Status(_fail, reason, p, m, l) : _fail;
public static status done(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => log?Lg.Status(_done, reason, p, m, l) : _done;
public status ViaDecorator(IDecorator scope, V reason = null) => log?Lg.ViaScope(this, scope, reason) : this;
public loop Via(V reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Forever(reason, p, m, l);
public static impending doom (ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Impending(impending._fail, reason, p, m, l);
public static pending cont(ValidString reason = null, [P] S p = "", [M] S m = "", [L] int l = 0) => Lg.Pending(pending._cont, reason, p, m, l);
public static status Eval(status s, [P] S path = "", [M] S member = "", [L] int line = 0) => log?Lg.Status(s, null, path, member, line) : s;