... со всеми этими новыми (и не столь новыми, если мы подсчитаем IEnumerable) материал, связанный с монадами?
interface IMonad<T>
{
SelectMany/Bind();
Return/Unit();
}
Это позволит писать функции, которые работают на любом монадическом типе. Или это не так важно?