Может быть добавлено несколько забавных (но не очень полезных) вещей: неявное покрытие от делегата:
public static implicit operator Lazy<T>(Func<T> initializer)
{
return new Lazy<T>(initializer);
}
И использование
private static Lazy<int> Value = new Func<int>(() => 24 * 22);
Компилятор C # имеет некоторые проблемы с выполнением этого преобразования, например, назначение лямбда-выражения не работает, но это еще одна вещь, заставляющая ваших коллег немного подумать:)