anchor.diff:  
   type mlty =
       | Ty_var   of string
  +    | Ty_tuple of mlty list
       | Ty_fun   of string option * mlty * mlty
       | Ty_named of mltyname * mlty list
   
  
positive.code:     | _ -> false
  
  (* -------------------------------------------------------------------- *)
  let name_of_let_ident (x : either<bvvdef,lident>) =
      match x with
      | Inl x -> x.realname.idText
  
negative.code:     match mlty with
      | Ty_var x ->
          text x
  
      | Ty_tuple tys ->
          let docs = List.map (doc_of_mltype (min_op_prec, NonAssoc)) tys in
          reduce1 [text "("; parens (combine (text " * ") docs); text ")"]
  
      | Ty_named ((_, name), args) -> begin
          let doc =
  