anchor.diff:        sigquals = quals;
         sigrng = rng;
         sigmeta = default_sigmeta ;
  -      sigattrs = [];
  +      sigattrs = val_attrs @ attrs;
         sigopts = None; }
   
   let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) =
  
positive.code:                                             sigquals = quals;
                                              sigrng = rng;
                                              sigmeta = default_sigmeta  ;
                                              sigattrs = [];
                                              sigopts = None; }))))
            in
            ((tname, d.doc), [], { sigel = Sig_inductive_typ(tname, univs, tpars, k, mutuals, constrNames);
                                   sigquals = tname_quals;
                                   sigrng = rng;
                                   sigmeta = default_sigmeta  ;
                                   sigattrs = [];
                                   sigopts = None; })::constrs
          | _ -> failwith "impossible")
        in
  
negative.code:                   let tpars = Subst.close_binders tpars in
                    Subst.close tpars t
            in
            [((id, d.doc), [], mk_typ_abbrev env d id uvs tpars (Some k) t [id] quals rng)]
  
          | Inl ({ sigel = Sig_inductive_typ(tname, univs, tpars, k, mutuals, _); sigquals = tname_quals }, constrs, tconstr, quals) ->
            let mk_tot t =
  