static string mkmPatternType(int i) { if (i <= 0) return "Pattern<Unit>"; if (i == 1) return "Pattern<P0>"; return "And<" + Tuple(i - 1) + ",P" + (i - 1) + ">"; }