У меня есть 2 определения типа
type Mapper a k v = a -> [(k,v)]
type MapperM m a k v = a -> m [(k,v)]
Я хочу написать функцию, которая преобразует значение из типа
(Ord k, Monad m) => MapperM m a k v
в тип
Ord k => Mapper a k v
в основном функция, которая принимает a -> m [(k, v)] в качестве аргумента и возвращает a -> [(k, v)] в качестве вывода.
Все мои попытки проваливаются с проверками типа Haskell.