static string mkProjections(string sep, int i, string p) { if (i <= 0) return ""; if (i == 1) return sep + p; else return mkProjections(sep, i - 1, p + ".Fst") + "," + p + ".Snd"; }