(motive : DoResultPR Lean.Expr (Option (Lean.Expr × Lean.Name)) PUnit.{1} → Sort u_1) →
  (r : DoResultPR Lean.Expr (Option (Lean.Expr × Lean.Name)) PUnit.{1}) →
    ((a : Lean.Expr) → (u : PUnit.{1}) → motive (DoResultPR.pure a u)) →
      ((b : Option (Lean.Expr × Lean.Name)) → (u : PUnit.{1}) → motive (DoResultPR.return b u)) → motive r