anchor.diff:  -export([module/2, format_error/1]).
   -export([type_anno/1, type_anno/2, type_anno/4]).
   
  --import(lists, [any/2,dropwhile/2,foldl/3,map/2,reverse/1]).
  +-import(lists, [any/2,dropwhile/2,foldl/3,map/2,reverse/1,zip/2]).
   
   %% To be called by the compiler.
   
  
positive.code:         false -> Type
      end.
  
  bif_type('-', Src, Vst) ->
      arith_type(Src, Vst);
  bif_type('+', Src, Vst) ->
  
negative.code:     St = kill_heap_allocation(St0),
      Vst1 = Vst0#vst{current=St},
      Vst2 = branch_state(Fail, Vst1),
  
      ArgTypes = bif_arg_types(Op, Ss),
      Vst3 = foldl(fun({Arg, T}, Vsti) ->
                           update_type(fun meet/2, T, Arg, Vsti)
                   end, Vst2, zip(Ss, ArgTypes)),
  
      Type = bif_type(Op, Ss, Vst3),
      Vst = prune_x_regs(Live, Vst3),
      extract_term(Type, Ss, Dst, Vst, Vst0);
  