Я буду sh, чтобы извлечь все ключи из карты, но я не знаю, как получить доступ к ключам. Мне удалось собрать все значения из любых складываемых типов, таких как Карты, но я не уверен, как получить доступ к клавишам внутри функтора.
getVals :: (Foldable t) => t a -> [a]
getVals x = foldr (:) [] x
Как определить функцию, подобную этой?
getKeys :: (Map k a) -> [k]