anchor.diff:                 *)
                 let ct1 = Env.unfold_effect_abbrev env c1 in
                 let ct2 = Env.unfold_effect_abbrev env c2 in
  +
  +              let x_a =
  +                match b with
  +                | None -> S.null_binder ct1.result_typ
  +                | Some x -> S.mk_binder x in
  +
                 let ct1, ct2, ed, g_lift =
                   let c1_ed = Env.get_effect_decl env ct1.effect_name in
                   let c2_ed = Env.get_effect_decl env ct2.effect_name in
  
positive.code:                      raise_error (Errors.Fatal_EffectsCannotBeComposed,
                         BU.format2 ("Effects %s and %s cannot be composed") c1_ed.mname.str c2_ed.mname.str) r1
                     | Some edge ->
                       let ct2, g_lift = ct2 |> S.mk_Comp |> edge.mlift.mlift_wp env |> (fun (c, g) -> U.comp_to_comp_typ c, g) in
                       ct1, ct2, c1_ed, g_lift)
                  | Some edge ->
                    let ct1, g_lift = ct1 |> S.mk_Comp |> edge.mlift.mlift_wp env |> (fun (c, g) -> U.comp_to_comp_typ c, g) in
                    ct1, ct2, c2_ed, g_lift in
  
negative.code:                   Env.trivial_guard is1 f_sort_is in 
  
                let g_guard =  //unify c2's indices with g's indices in the bind_wp
                  let g_sort_is : list<term> =
                    match (SS.compress (g_b |> fst).sort).n with
                    | Tm_arrow (bs, c) ->
  