anchor.diff:      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),
  
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: 		false -> Seq0#c_seq{arg=Arg,body=B1}
  	    end
      end;
  expr(#c_let{}=Let0, Ctxt, Sub) ->
      Let = opt_case_in_let(Let0),
      case simplify_let(Let, Sub) of
  	impossible ->
  	    %% The argument for the let is "simple", i.e. has no
  