anchor.diff:  			 sub_new_preserve_types(Sub));
   		true ->
   		    Let1 = Let0#c_let{vars=Vs,arg=Arg1,body=Body},
  -		    Let2 = opt_case_in_let(Let1, Sub),
  +		    Let2 = opt_bool_case_in_let(Let1, Sub),
   		    opt_case_in_let_arg(Let2, Ctxt, Sub)
   	    end
       end.
  
positive.code: 	    bsm_problem(P, bin_partition)
      end;
  bsm_ensure_no_partition_after([], _) -> ok.
      
  bsm_could_match_binary(#c_alias{pat=P}) -> bsm_could_match_binary(P);
  bsm_could_match_binary(#c_cons{}) -> false;
  bsm_could_match_binary(#c_tuple{}) -> false;
  
negative.code:     Arg = body(Arg0, Sub0),
      ScopeSub0 = sub_subst_scope(Sub0#sub{t=[]}),
      {OuterVs,ScopeSub} = pattern_list(OuterVs0, ScopeSub0),
  
      OuterBody = body(OuterBody0, ScopeSub),
  
      {InnerVs,Sub} = pattern_list(InnerVs0, Sub0),
  