что “монада” это всего лишь тип, у которого есть инстанс тайпкласса monad, определяющий байнд/ретурн/юнит/…, и в целом все эти магические слова означают просто присутствие у типа определенных методов работы с ним (в основном по распаковке/запакове значений из/в конструкторы этого типа)?
Конструктор типа*
методы не только определены, но и удовлетворяют некоторым обязательным свойствам. то есть эти методы "определены правильно"
Обсуждают сегодня