Definition bijection {X Y} (f : X -> Y) : Prop :=
exists g : Y -> X,
(forall x, g (f x) = x) /\
(forall y, f (g y) = y).

Lemma uniform_snd {X Y} `{Finite X, Finite Y} (d : dist (X * Y)) :
uniform d ->
uniform (monad_map snd d).