... with all those new (and not so new if we count IEnumerable) monad-related stuff?
interface IMonad<T> { SelectMany/Bind(); Return/Unit(); }
That would allow to write functions that operate on any monadic type. Or it's not so critical?