Definition plift2 {M} `{PredLift M} {X Y} (P : X -> Y -> Prop) :
  M X -> M Y -> Prop :=
  fun mx my =>
    plift (fun x => plift (P x) my) mx.

Lemma plift2_ret_r {M} `{PredLift M} {X Y} (P : Y -> X -> Prop) (x : X) (m : M Y) : plift (fun y => P y x) m -> plift2 P m (mreturn x).