anchor.diff:    | Trivial -> "trivial"
     | NonTrivial f ->
         if debug env Medium then
  -        Normalize.formula_norm_to_string env f
  +        Normalize.formula_norm_to_string env f
         else
           "non-trivial"
   
  
positive.code:     | None 
      | Some (NonTrivial _) ->  
        let r = Tc.Env.get_range env in
        raise (Error(Tc.Errors.basic_type_error env eopt t2 t1, r))
  
  let sub_comp env c1 c2 = 
    if debug env <| Other "Rel" then Util.fprint2 "sub_comp of %s and %s\n" (Print.comp_typ_to_string c1) (Print.comp_typ_to_string c2);
  
negative.code:   | TProb(rel, k1, k2) -> Util.format5 "\t%s (%s) \n\t\t%s\n\t%s (%s)" (Print.typ_to_string k1) (Print.tag_of_typ k1) (rel_to_string rel) (Print.typ_to_string k2) (Print.tag_of_typ k2)
    | EProb(rel, k1, k2) -> Util.format3 "\t%s \n\t\t%s\n\t%s" (Print.exp_to_string k1) (rel_to_string rel) (Print.exp_to_string k2)
    | CProb(rel, k1, k2) -> 
      Util.format3 "\t%s \n\t\t%s\n\t%s" (Normalize.comp_typ_norm_to_string env k1) (rel_to_string rel) (Normalize.comp_typ_norm_to_string env k2)
  //let prob_to_string (env:Env.env) (p:prob) = "<prob>"
  type uvar_inst =  //never a uvar in the co-domain of this map
    | UK of uvar_k * knd 
  