anchor.diff:    if Env.debug env0 <| Options.Other "LayeredEffects" then
       BU.print1 "After unification k: %s\n" (Print.term_to_string k);
   
  +  let k = k |> N.remove_uvar_solutions env in
  +  check_no_subtyping_for_layered_combinator env k None;
  +
     //generalize
  -  let us, lift, lift_wp =
  -    let inst_us, lift = TcUtil.generalize_universes env0 lift in
  -    if List.length inst_us <> 1
  -    then raise_error (Errors.Fatal_MismatchUniversePolymorphic, BU.format4
  -      "Expected lift %s~>%s to be polymorphic in one universe, found:%s (t:%s)"
  -      (Ident.string_of_lid sub.source) (Ident.string_of_lid sub.target)
  -      (inst_us |> List.length |> string_of_int) (Print.term_to_string lift)) r;
  -
  -    if List.length us = 0 ||
  -       (List.length us = List.length inst_us &&
  -        List.forall2 (fun u1 u2 -> S.order_univ_name u1 u2 = 0) us inst_us)
  -    then inst_us, lift,
  -         k |> N.remove_uvar_solutions env |> SS.close_univ_vars inst_us
  -    else 
  -       raise_error (Errors.Fatal_UnexpectedNumberOfUniverse, BU.format5
  -         "Annotated and generalized universes on %s~%s are not same, annotated:%s, generalized:%s (t:%s)"
  -         (Ident.string_of_lid sub.source) (Ident.string_of_lid sub.target)
  -         (us |> List.length |> string_of_int) (inst_us |> List.length |> string_of_int)
  -         (Print.term_to_string lift)) r in
  +  // let us, lift, lift_wp =
  +  //   let inst_us, lift = TcUtil.generalize_universes env0 lift in
  +  //   if List.length inst_us <> 1
  +  //   then raise_error (Errors.Fatal_MismatchUniversePolymorphic, BU.format4
  +  //     "Expected lift %s~>%s to be polymorphic in one universe, found:%s (t:%s)"
  +  //     (Ident.string_of_lid sub.source) (Ident.string_of_lid sub.target)
  +  //     (inst_us |> List.length |> string_of_int) (Print.term_to_string lift)) r;
  +
  +  //   if List.length us = 0 ||
  +  //      (List.length us = List.length inst_us &&
  +  //       List.forall2 (fun u1 u2 -> S.order_univ_name u1 u2 = 0) us inst_us)
  +  //   then inst_us, lift,
  +  //        SS.close_univ_vars inst_us k
  +  //   else 
  +  //      raise_error (Errors.Fatal_UnexpectedNumberOfUniverse, BU.format5
  +  //        "Annotated and generalized universes on %s~%s are not same, annotated:%s, generalized:%s (t:%s)"
  +  //        (Ident.string_of_lid sub.source) (Ident.string_of_lid sub.target)
  +  //        (us |> List.length |> string_of_int) (inst_us |> List.length |> string_of_int)
  +  //        (Print.term_to_string lift)) r in
          
     let sub = { sub with
       lift = Some (us, lift);
  -    lift_wp = Some (us, lift_wp) } in
  +    lift_wp = Some (us, SS.close_univ_vars us k) } in
   
     if Env.debug env0 <| Options.Other "LayeredEffects" then
       BU.print1 "Final sub_effect: %s\n" (Print.sub_eff_to_string sub);
  
positive.code:          (Ident.string_of_lid sub.source) (Ident.string_of_lid sub.target)) r in
  
      let c = S.mk_Comp ({
        comp_univs = [ u_a ];
        effect_name = PC.effect_PURE_lid;
        result_typ = repr;
        effect_args = [ pure_wp_uvar |> S.as_arg ];
  
negative.code:       it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it"
        eff_name);
  
    let k = k |> N.remove_uvar_solutions env in
    check_no_subtyping_for_layered_combinator env k None;
  
    (us, t), (us, SS.close_univ_vars us k)
  