Definition sumF {X} `{Finite X} (f : X -> nat) : nat :=
  list_sum (map f enum).Definition sumFQ {X} `{Finite X} (f : X -> Q) : Q :=
  Qsum(map f enum).

Lemma map_const_repeat {X Y} (y : Y) (l : list X) : map (fun _ => y) l = repeat y (length l).