method pp_term_let fmt x a b =
    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_term) b)