anchor.diff:          {catchtag,_} -> error({catchtag,Src});
           {trytag,_} -> error({trytag,Src});
           tuple_in_progress -> error({tuple_in_progress,Src});
  -        {literal,_}=Lit -> get_literal_type(Lit);
           Type -> Type
       end.
   
  
positive.code:                 number |
                  term |
                  tuple_in_progress |
                  {tuple, tuple_sz(), #{ pos_integer() => type() }} |
                  literal().
  
  -type tag() :: initialized |
                 uninitialized |
  
negative.code: 
  same_length_type(Reg, Vst) ->
      case get_term_type(Reg, Vst) of
          cons -> cons;
          nil -> nil;
          _ -> list
  