using System.Collections.Generic;
public static void Main()
var list = new List<int>();
Console.WriteLine(list.Try(x => x[0]));
Console.WriteLine(list.Try(x => x[1]));
Console.WriteLine(list.Try(x => x[1], -1));
Console.WriteLine(list.Try(x => x[0], out result1));
Console.WriteLine(list.Try(x => x[1], out result2));
Console.WriteLine(list.Try(x => x[1], -1, out result3));
Console.WriteLine(list.Try(x => x[1], ints => -2));
Console.WriteLine(list.Try(x => x.Add(2)));
Console.WriteLine(list.Try(x => { throw new Exception("exception!"); }, x => x.Add(3)));
Console.WriteLine(result1);
Console.WriteLine(result2);
Console.WriteLine(result3);