anchor.diff:        let env = Env.push_sigelt env se in
         let env, ses = ne.actions |> List.fold_left (fun (env, ses) a -> 
             let se_let = Util.action_as_lb a in
  -          let _ = 
  -            match se_let with 
  -            | Sig_let((_, [lb]), _, _, _) ->
  -              printfn "Pushing action: %s @ %s" (Print.lbname_to_string lb.lbname) (Print.tscheme_to_string (lb.lbunivs, lb.lbtyp)) in
             Env.push_sigelt env se_let, se_let::ses) (env, [se]) in
         [se], env
   
  
positive.code:     let item, item_comp = open_and_check item in
      if not (Util.is_total_lcomp item_comp) then
        raise (Err ("Computation for [item] is not total!"));
      printfn "elaborate_and_star: Checking %s; got %s\n" (Print.term_to_string item) (Print.lcomp_to_string item_comp);
      let item_t, item_wp, item_elab = DMFF.star_expr dmff_env item in
      printfn "elaborate_and_star: Checking %s; got item_t %s\n" (Print.term_to_string item) (Print.term_to_string item_t);
      let item_wp = recheck_debug "*" env item_wp in
      let item_elab = recheck_debug "_" env item_elab in
      dmff_env, item_t, item_wp, item_elab
  
negative.code:   let dmff_env, actions = List.fold_left (fun (dmff_env, actions) action ->
      // We need to reverse-engineer what tc_eff_decl wants here...
      let dmff_env, action_t, action_wp, action_elab =
        elaborate_and_star dmff_env (action.action_univs, action.action_defn)
      in
      let name = action.action_name.ident.idText in
      let action_typ_with_wp = DMFF.trans_F dmff_env action_t action_wp in
      let action_elab = register (name ^ "_elab") action_elab in
      let action_typ_with_wp = register (name ^ "_complete_type") action_typ_with_wp in
      dmff_env, { action with action_defn = apply_close action_elab; action_typ = apply_close action_typ_with_wp } :: actions
  