anchor.diff:    | false -> s
   
   and binder_to_string b = match b with 
  -    | Inl a, imp -> if is_null_binder b then kind_to_string a.sort else strBvd a.v// imp_to_string ((strBvd a.v) ^ ":" ^ (kind_to_string a.sort)) imp
  -    | Inr x, imp -> if is_null_binder b then typ_to_string x.sort else strBvd x.v //imp_to_string ((strBvd x.v) ^ ":" ^ (typ_to_string x.sort)) imp
  +    | Inl a, imp -> if is_null_binder b then kind_to_string a.sort 
  +                    else if not (!Options.print_implicits) then imp_to_string (strBvd a.v) imp
  +                    else imp_to_string ((strBvd a.v) ^ ":" ^ (kind_to_string a.sort)) imp
  +    | Inr x, imp -> if is_null_binder b then typ_to_string x.sort 
  +                    else if not (!Options.print_implicits) then imp_to_string (strBvd x.v) imp
  +                    else imp_to_string ((strBvd x.v) ^ ":" ^ (typ_to_string x.sort)) imp
      
   and binders_to_string sep bs =
       let bs = if !Options.print_implicits then bs else List.filter (fun (_,i) -> not i) bs in
  
positive.code:         | [(Inl t1, _);(Inl t2, _);(Inl t3, _)] -> format3 "if %s then %s else %s" (formula_to_string t1) (formula_to_string t2) (formula_to_string t3)
          | _ -> failwith "impos" in
      let eq_op = function 
          | [(Inl _, _); (Inl _, _); (Inr e1, _); (Inr e2, _)]
          | [(Inr e1, _); (Inr e2, _)] -> format2 "%s == %s" (exp_to_string e1) (exp_to_string e2)
          |  _ -> failwith "Impossible" in
      let connectives = [(Const.and_lid,  bin_top "/\\");
  
negative.code:         | Inr e -> Util.format1 "(<Expected a type!>%s)" (exp_to_string e) in
        let qbinder_to_string = q_to_string (fun x -> binder_to_string (fst x)) in
        let qbody_to_string = q_to_string (fun x -> typ_to_string (snd x)) in
        let args' = if !Options.print_implicits && not (is_quant t) then args else List.filter (fun a -> not (snd a)) args in (* drop implicit arguments for type operators *)
        if is_ite t && List.length args = 3 then
          format3 "if %s then %s else %s" (arg_to_string (List.nth args 0)) (arg_to_string (List.nth args 1)) (arg_to_string (List.nth args 2))
        else if is_b2t t && List.length args = 1 then List.nth args 0 |> arg_to_string
  