let fold f m base = M.fold (fun k v res -> f res k v) base m