Definition respectful {X} (P : dist X -> Prop) : Prop :=
  forall d1 d2, d1 ==d d2 -> P d1 <-> P d2.

Lemma bind_assoc_equiv {X Y Z} (m : dist X) (f : X -> dist Y) (g : Y -> dist Z) : (mbind (mbind m f) g) ==d (mbind m (fun x => mbind (f x) g)).