anchor.diff:  %%  nothing.  We don't differentiate here between pre-defined or user
   %%  defined types.
   
  +from_type_def({type,_L,union,Types}) ->         %Special case union
  +    ['UNION'|from_type_defs(Types)];
   from_type_def({type,_L,tuple,any}) -> [tuple];
  -from_type_def({type,_L,union,Types}) ->		%Special case union
  -    ['UNION'|from_type_defs(Types)];
  +from_type_def({type,_L,map,Pairs}) ->
  +    [map|from_map_pairs(Pairs)];
   from_type_def({type,_L,record,[{atom,_L,Name}|Fields]}) ->
       [record,Name,from_type_defs(Fields)];
   from_type_def({type,_L,field_type,[{atom,_,Name},Type]}) ->
  
positive.code: to_type_def(Val, Line) when is_atom(Val) ->     %Variable
      {var,Line,Val}.
  
  to_lit(Val, Line) when is_atom(Val) -> {atom,Line,Val};
  to_lit(Val, Line) when is_integer(Val) -> {integer,Line,Val}.
  
  to_type_rec_fields(Fs, Line) ->
      Fun = fun ([F,Type]) ->
  
negative.code: 
  to_lambda_args(any, Line) -> {type,Line,any};
  to_lambda_args(Args, Line) -> to_func_prod(Args, Line).
  
  %% from_func_type_list([FuncType]) -> Type.
  
  