method pp_pred_let fmt x a p = self#binder x (fun bind -> Format.fprintf fmt "@[<hv 2>let %a = %a in@ @]%a" self#pp_binder bind self#pp_term a (self#with_binder bind self#pp_pred) p)