use Data.Map.Strict instead