anchor.diff:  bif_return_type(is_binary, [_], _) -> bool;
   bif_return_type(is_float, [_], _) -> bool;
   bif_return_type(is_function, [_], _) -> bool;
  +bif_return_type(is_function, [_,_], _) -> bool;
   bif_return_type(is_integer, [_], _) -> bool;
   bif_return_type(is_list, [_], _) -> bool;
   bif_return_type(is_map, [_], _) -> bool;
  
positive.code: math_mod_return_type(pi, 0) -> {float,[]};
  math_mod_return_type(F, A) when is_atom(F), is_integer(A), A >= 0 -> term.
  
  lists_mod_return_type(dropwhile, 2, _Vst) ->
      list;
  lists_mod_return_type(duplicate, 2, _Vst) ->
      list;
  lists_mod_return_type(filter, 2, _Vst) ->
      list;
  lists_mod_return_type(flatten, 2, _Vst) ->
      list;
  
negative.code: bif_arg_types('bit_size', [_]) -> [binary];
  %% Numerical
  bif_arg_types('-', [_]) -> [number];
  bif_arg_types('-', [_,_]) -> [number,number];
  bif_arg_types('+', [_]) -> [number];
  bif_arg_types('+', [_,_]) -> [number,number];
  bif_arg_types('*', [_,_]) -> [number, number];
  bif_arg_types('/', [_,_]) -> [number, number];
  bif_arg_types(abs, [_]) -> [number];
  bif_arg_types(ceil, [_]) -> [number];
  bif_arg_types(float, [_]) -> [number];
  bif_arg_types(floor, [_]) -> [number];
  bif_arg_types(trunc, [_]) -> [number];
  bif_arg_types(round, [_]) -> [number];
  