using System; public delegate Tuple Parser (D1 stream); static class Combinator { public static Parser Lazy (Func> func) { return null; } public static Parser Choice (Parser parsers) { Parser tail = null; Lazy (() => Choice (tail)); return null; } public static void Main () { Choice ((int l) => Tuple.Create (1, 2)); } }