anchor.diff:  		false ->
   		    %% Remember that we have seen this test.
   		    SeenTests = gb_sets:insert(Test, SeenTests0),
  -		    make_select_val(I, Is, SeenTests, Acc)
  +		    peep(Is, SeenTests, [I|Acc])
   	    end
       end;
   peep([{select_val,Src,Fail,
  
positive.code:     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)).
  
  
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:
  %%
  