anchor.diff:        (*        M.bind_repr (reify e1) (fun x -> reify e2)                          *)
         (*                                                                            *)
         (* ****************************************************************************)
  -      let ed = Env.get_effect_decl cfg.tcenv (Env.norm_eff_name cfg.tcenv m) in
  +      let eff_name = Env.norm_eff_name cfg.tcenv m in
  +      let ed = Env.get_effect_decl cfg.tcenv eff_name in
  +      let _, repr = ed |> U.get_eff_repr |> must in
         let _, bind_repr = ed |> U.get_bind_repr |> must in
         begin match lb.lbname with
           | Inr _ -> failwith "Cannot reify a top-level let binding"
  
positive.code:      not (mtgt |> Env.is_layered_effect env)
    then
      let ed = Env.get_effect_decl env (Env.norm_eff_name cfg.tcenv mtgt) in
      let _, return_repr = ed |> U.get_return_repr |> must in
      let return_inst = match (SS.compress return_repr).n with
          | Tm_uinst(return_tm, [_]) ->
              S.mk (Tm_uinst (return_tm, [env.universe_of env t])) None e.pos
          | _ -> failwith "NIY : Reification of indexed effects"
      in
      S.mk (Tm_app(return_inst, [as_arg t ; as_arg e])) None e.pos
    else
      match Env.monad_leq env msrc mtgt with
      | None ->
  
negative.code:               let rng = top.pos in
  
                let head = U.mk_reify <| lb.lbdef in
                let lb_head, head_bv, head =
                  let bv = S.new_bv None x.sort in
                  let lb =
                      { lbname = Inl bv;
                        lbunivs = [];
                        lbtyp = U.mk_app repr [S.as_arg x.sort];
                        lbeff = if is_total_effect cfg.tcenv eff_name then PC.effect_Tot_lid
                                                                      else PC.effect_Dv_lid;
                        lbdef = head;
                        lbattrs = [];
                        lbpos = head.pos;
                      }
                  in
                  lb, bv, S.bv_to_name bv
                in
  
                let body = U.mk_reify <| body in
                (* TODO : Check that there is no sensible cflags to pass in the residual_comp *)
                let body_rc = {
  