Ну ок, кому то "удобно" функцию таскать. Но тип то будет
type Dict_ k v =
Dict { compare :: k -> k -> Bool, values :: ...}
Такой тип позволит безнаказанно слить два словаря с разной функцией сравнения для общего типа ключа. И при этом будет влиять порядок сливаемых словарей в выражении. Это ад!