anchor.diff:      "untyped";
   type_to_text_({type, anyxml}) ->
       "XML";
  -type_to_text_({type, _, <<"enumeration">>, [{enum,_,E,I} | EnT]}) ->
  +type_to_text_({type, _, <<"enumeration">>, [{enum,_,E,I} | _] = En}) ->
       [ val2txt(I), " (", E, ")" | [ [ " | ", val2txt(I1), " (", E1, ")"]
  -				   || {enum, _, E1, I1} <- EnT] ];
  +				   || {enum, _, E1, I1} <- En] ];
   type_to_text_({type, _, <<"boolean">>, _}) ->
  -    "true | false";
  +    "\"1\" (true) | \"0\" (false)";
   type_to_text_({type, _, <<"union">>, Ts}) ->
       [ "One of:", [["~n* ", type_to_text(T)] || T <- Ts] ];
   type_to_text_({type, _, T, _}) ->
  
positive.code: 
  pp_json_(K,V,I) ->
      Part1 = ["\"", K, "\": "],
      I1 = I + iolist_size(Part1),
      [Part1, pp_json(V, I1)].
  
  descr(L) ->
      case lists:keyfind(description, 1, L) of
  	false ->
  	    [{description, ""}|extensions(L)];
  	{_, _, B,_} ->
  	    [{description, binary_to_list(B)}|extensions(L)]
      end.
  
  type(Is, Data, Imports) ->
  
negative.code: collect_descriptions(_, Acc) ->
      Acc.
  
  pp_json(Json) ->
      pp_json(Json, 0).
  
  pp_json(void, _) ->
      "\"ok\"";
  pp_json({struct, []}, I) ->
      [i(I), "{}\n"];
  pp_json({struct, [H|T]}, I) ->
      I1 = I+1,
      ["{\n", i(I1), pp_json(H, I1), [[",\n", i(I1), pp_json(Term,I1)] || Term <- T], "\n", i(I), "}"];
  pp_json({array, []}, _I) ->
      ["[]"];
  pp_json({array, [H|T]}, I) ->
      I1 = I+1,
      ["[\n", i(I1), pp_json(H, I1), [[",\n", i(I1), pp_json(Term,I1)] || Term <- T], "\n", i(I), "]"];
  pp_json(V, _I) when is_binary(V); is_list(V) ->
      io_lib:fwrite("\"~s\"", [V]);
  pp_json(V, _I) when is_integer(V) ->
  