anchor.diff:  	 true -> io_lib:write_string(atom_to_list(X), $'); % stupid emacs '
   	 false -> io_lib:format("~w", [X])
          end || X <- set_to_list(Set)],
  -  sequence(L, [], " | ").
  +  string:join(L, " | ").
   
   set_min([H|_]) -> H.
   
  
positive.code:     _ -> io_lib:format("Bad formed type ~w",[Type])
    end;
  t_form_to_string({type, _L, Name, List}) -> 
    io_lib:format("~w(~s)", [Name, sequence(t_form_to_string_list(List), ",")]).
  
  t_form_to_string_list(List) ->
    t_form_to_string_list(List, []).
  
negative.code: t_form_to_string({type, _L, timeout, []}) -> "timeout()";
  t_form_to_string({type, _L, tuple, any}) -> "tuple()";
  t_form_to_string({type, _L, tuple, Args}) ->
    "{" ++ string:join(t_form_to_string_list(Args), ",") ++ "}";
  t_form_to_string({type, _L, union, Args}) ->
    string:join(t_form_to_string_list(Args), " | ");
  t_form_to_string({type, _L, Name, []} = T) ->
    try t_to_string(t_from_form(T))
    catch throw:{error, _} -> atom_to_list(Name) ++ "()"
  