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