HaskellのData.Mapモジュールにおいて定義されるMap型(連想配列)に関して, 2つのMapのマージを定義するData.Map.Merge.Strict.mergeの使い方が意外と大変だったので共有します. Data.Mapについて こちらの記事に基本的な事項がまとめてあります. Data.Mapの使用にはcontainersパッケージのインストールが必要です. こちらでも言及されている通り非正格なData.Mapは特別な理由がない限り非推奨とのことなので, 本記事でも正格版であるData.Map.Strictを用います. keyの型k, valueの型aの連想配列Map k aは配列[(k,a)]からfromList関数によって生成できます: