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
前者は余分な型指定の必要性を減らす可能性が高いと思いますが、後者はより一般的になり、リスト内包表記でルックアップを使用できるようになります。新しいバージョンでこの動作を模倣する方法はありますか、または古いバージョンのライブラリを使用する必要がありますか?