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