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

Lemma bind_ext_resp {X Y} (m : dist X) (f g : X -> dist Y) (P : dist Y -> Prop) : respectful P -> (forall x, (f x) ==d (g x)) -> P (mbind m f) <-> P (mbind m g).