public static MFunc <A, B, C, D> Stub <A, B, C, D>(this MFunc <A, B, C, D> f) { return(new MFunc <A, B, C, D>()); }
public static MFunc <A, B, C> Expect <A, B, C>(this MFunc <A, B, C> f, long expected) { f = f ?? new MFunc <A, B, C>(); return(new MFunc <A, B, C>(f, expected)); }
public static MFunc <A, B> Return <A, B>(this MFunc <A, B> f, B value) { return(f + (_ => value)); }
public static MFunc <A, B, C> Return <A, B, C>(this MFunc <A, B, C> f, C value) { return(f + ((a, b) => value)); }
public static MFunc <A, B, C> Args <A, B, C>(this MFunc <A, B, C> f, A a, B b) { return(f.Arg1(a).Arg2(b)); }