anchor.diff:      in
       let leftover_datacons, tycons = List.fold_left retrieve_datacons_and_resugar (datacon_ses, []) decl_typ_ses in
       begin match leftover_datacons with
  -      | [] -> true
  +      | [] -> //true
           (* TODO : documentation should be retrieved from the desugaring environment at some point *)
           Some (decl'_to_decl se (Tycon (false, List.map (fun tyc -> tyc, None) tycons)))
         | [se] ->
  -        assert (se.sigqual |> BU.for_some (function | ExceptionConstructor -> true | _ false))
  +        //assert (se.sigqual |> BU.for_some (function | ExceptionConstructor -> true | _ -> false))
           (* Exception constructor declaration case *)
  -        Some (decl'_to_decl (Exception (failwith "NIY")))
  +        Some (decl'_to_decl se (Exception (failwith "NIY")))
         | _ ->
           failwith "Should not happen hopefully"
  -
  -  | Sig_decl_typ _ ->
  -      (failwith "NIY")
  +    end
   
     | Sig_let (lbs, _, attrs) ->
         (failwith "NIY")
  
positive.code:     if i = 0 then
        Some (mk (A.PatWild))
      else
        BU.bind_opt (resugar_arg_qual qual) (fun aq -> mk (A.PatVar(bv_as_unique_ident x, )))
    | _ ->
      BU.bind_opt (resugar_arg_qual qual)
        begin fun aq ->
          let pat = mk (A.PatVar(bv_as_unique_ident x, aq)) in
          if Options.print_bound_var_types() then
            mk (A.PatAscribed(pat, resugar_term x.sort))
          else
            pat
        end
  
  and resugar_match_pat (p:S.pat) : A.pattern =
  
negative.code: let resugar_sigelt se : option <A.decl> =
    match se.sigel with
    | Sig_bundle (ses, _) ->
      let decl_typ_ses, datacon_ses = ses |> List.partition
        (fun se -> match se.sigel with
          | Sig_inductive_typ _ | Sig_declare_typ _ -> true
          | Sig_datacon _ -> false
  