anchor.diff:      Other;
   meet(Other, term) ->
       Other;
  +meet(#ms{}, binary) ->
  +    #ms{};
  +meet(binary, #ms{}) ->
  +    #ms{};
   meet({literal,_}, {literal,_}) ->
       none;
   meet(T1, {literal,_}=T2) ->
  
positive.code: bif_return_type(float, _, _) -> {float,[]};
  bif_return_type('/', _, _) -> {float,[]};
  %% Binary operations
  bif_return_type('byte_size', _, _) -> {integer,[]};
  bif_return_type('bit_size', _, _) -> {integer,[]};
  %% Integer operations.
  bif_return_type(ceil, [_], _) -> {integer,[]};
  bif_return_type('div', [_,_], _) -> {integer,[]};
  
negative.code: -spec type_anno(term()) -> term().
  type_anno(atom) -> {atom,[]};
  type_anno(bool) -> bool;
  type_anno({binary,_}) -> binary;
  type_anno(cons) -> cons;
  type_anno(float) -> {float,[]};
  type_anno(integer) -> {integer,[]};
  