Функция поиска в Data.Map и Data.IntMap в настоящее время возвращает значения, заключенные в Maybe с
тип подписи
lookup :: Ord k => k -> Map k a -> Maybe a
Раньше имел более общий тип
lookup :: (Monad m, Ord k) => k -> Map k a -> m a
Я понимаю, что первое, вероятно, уменьшает потребность в дополнительной спецификации типа, но последнее сделает его гораздо более общим и позволит использовать поиск в списках. Есть ли способ имитировать это поведение с более новой версией, или мне придется использовать более старую версию библиотеки?