anchor.diff:          let lift, comp, _ = tc_term (Env.push_univ_vars env uvs) lift in  //AR: push univs in the env
           (* TODO : Check that comp is pure ? *)
           let _, lift_wp, lift_elab = DMFF.star_expr dmff_env lift in
  -        let _ = recheck_debug "lift-wp" env lift_wp in
  -        let _ = recheck_debug "lift-elab" env lift_elab in
  -        Some (uvs, SS.close_univ_vars uvs lift_elab), (uvs, SS.close_univ_vars uvs lift_wp)
  +        let lift_wp = recheck_debug "lift-wp" env lift_wp in
  +        let lift_elab = recheck_debug "lift-elab" env lift_elab in
  +        if List.length uvs = 0 then Some (TcUtil.generalize_universes env lift_elab), TcUtil.generalize_universes env lift_wp
  +        else Some (uvs, SS.close_univ_vars uvs lift_elab), (uvs, SS.close_univ_vars uvs lift_wp)
       in
       (* we do not expect the lift to verify, *)
       (* since that requires internalizing monotonicity of WPs *)
  
positive.code: 
    let dmff_env = DMFF.empty env (tc_constant env Range.dummyRange) in
    let wp_type = DMFF.star_type dmff_env repr in
    let wp_type = recheck_debug "*" env wp_type in
    let wp_a = N.normalize [ N.Beta ] env (mk (Tm_app (wp_type, [ (S.bv_to_name a, S.as_implicit false) ]))) in
  
    // Building: [a -> wp a -> Effect]
  
negative.code:     let binders = [ S.mk_binder a; S.mk_binder wp ] in
      U.abs binders (DMFF.trans_F dmff_env (mk (Tm_app (repr, [ S.bv_to_name a, S.as_implicit false ]))) (S.bv_to_name wp)) None
    in
    let _ = recheck_debug "FC" env repr in
    let repr = register "repr" repr in
  
    (* We are still lacking a principled way to generate pre/post condition *)
  