anchor.diff:      peep(Is, gb_sets:empty(), [I|Acc]);
   peep([], _, Acc) -> reverse(Acc).
   
  -make_select_val({test,is_ne_exact,{f,Fail},[Val,Lit]}=I0,
  -		Is0, SeenTests, Acc) ->
  -    try
  -	Type = case Lit of
  -		   {atom,_} -> atom;
  -		   {integer,_} -> integer;
  -		   _ -> throw(impossible)
  -	       end,
  -	{I,Is} = make_select_val_1(Is0, Fail, Val, Type, [Lit,{f,Fail}]),
  -	peep([I|Is], SeenTests, Acc)
  -    catch
  -	impossible ->
  -	    peep(Is0, SeenTests, [I0|Acc])
  -    end;
  -make_select_val(I, Is, SeenTests, Acc) ->
  -    peep(Is, SeenTests, [I|Acc]).
  -
  -make_select_val_1([{test,is_ne_exact,{f,Fail},[Val,{Type,_}=Lit]}|Is],
  -		  Fail, Val, Type, Acc) ->
  -      make_select_val_1(Is, Fail, Val, Type, [Lit,{f,Fail}|Acc]);
  -make_select_val_1([{test,is_eq_exact,{f,UltimateFail},[Val,{Type,_}=Lit]} |
  -		   [{label,Fail}|_]=Is], Fail, Val, Type, Acc) ->
  -    Choices = [Lit,{f,Fail}|Acc],
  -    I = {select_val,Val,{f,UltimateFail},{list,Choices}},
  -    {I,Is};
  -make_select_val_1(_Is, _Fail, _Val, _Type, _Acc) -> throw(impossible).
  -    
   kill_seen(Dst, Seen0) ->
       gb_sets:from_ordset(kill_seen_1(gb_sets:to_list(Seen0), Dst)).
   
  
positive.code: 	false -> [Test|kill_seen_1(T, Dst)]
      end;
  kill_seen_1([], _) -> [].
  
  	    
  
negative.code: %%      InEncoding =:= latin1, OutEncoding =:= unicode; 
  %%      InEncoding =:= latin1, OutEncoding =:= utf8 ->
  %%
  %% (2) A select_val/4 instruction that only verifies that
  %%     its argument is either 'true' or 'false' can be
  %%     be replaced with an is_boolean/2 instruction. That is:
  %%
  