public static Func <T1, T2, T3, R> cast <R, T1, T2, T3>(SameFunc <R> handler) { return((T1 p1, T2 p2, T3 p3) => handler(p1, p2, p3)); }
public static Func <T1, R> cast <R, T1>(SameFunc <R> handler) { return((T1 p1) => handler(p1)); }
public static Func <T1, T2, R> cast <R, T1, T2>(SameFunc <R> handler) { return((T1 p1, T2 p2) => handler(p1, p2)); }
public static Func <R> cast <R>(SameFunc <R> handler) { return(() => handler()); }