Вы видите способ указать, что мой тип результата должен быть MonadType < Тип arg> в этом интерфейсе?с использованием бесплатного связанного типа типа как параметр типа
interface IMonad<MonadType> // where MonadType : GenricType<>
{
MonadType<T1> unit<T1>(T1 t)
Func<MonadType<T1>, MonadType<T2>> map<T1, T2>(Func<T1, T2> f);
}
я получаю как ошибка: Тип параметра «MonadType» не может быть использован с аргументами типа