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
我意识到前者可能会减少对额外类型规范的需求,但后者会使其更加通用并允许在列表推导中使用查找。有什么方法可以用新版本模仿这种行为,还是我必须使用旧版本的库?