anchor.diff:  t_form_to_string({op, _L, _Op, _Arg} = Op) ->
     case erl_eval:partial_eval(Op) of
       {integer, _, _} = Int -> t_form_to_string(Int);
  -    _ -> io_lib:format("Bad formed type ~w",[Op])
  +    _ -> io_lib:format("Badly formed type ~w", [Op])
     end;
   t_form_to_string({op, _L, _Op, _Arg1, _Arg2} = Op) ->
     case erl_eval:partial_eval(Op) of
       {integer, _, _} = Int -> t_form_to_string(Int);
  -    _ -> io_lib:format("Bad formed type ~w",[Op])
  +    _ -> io_lib:format("Badly formed type ~w", [Op])
     end;
   t_form_to_string({ann_type, _L, [Var, Type]}) ->
     t_form_to_string(Var) ++ "::" ++ t_form_to_string(Type);
  
positive.code:   try t_to_string(t_from_form(T))
    catch throw:{error, _} -> atom_to_list(Name) ++ "()"
    end;
  t_form_to_string({type, _L, binary, [X,Y]} = Type) ->
    case {erl_eval:partial_eval(X), erl_eval:partial_eval(Y)} of
      {{integer, _, XVal}, {integer, _, YVal}} ->
        case YVal of
  	0 ->
  	  case XVal of
  	    0 -> "<<>>";
  	    _ -> io_lib:format("<<_:~w>>", [XVal])
  	  end
        end;
      _ -> io_lib:format("Bad formed type ~w",[Type])
    end;
  t_form_to_string({type, _L, Name, List}) -> 
    io_lib:format("~w(~s)",
  		[Name, string:join(t_form_to_string_list(List), ",")]).
  
negative.code: t_form_to_string_list([H|T], Acc) ->
    t_form_to_string_list(T, [t_form_to_string(H)|Acc]);
  t_form_to_string_list([], Acc) ->
    lists:reverse(Acc).
  
  %%=============================================================================
  %% 
  %% Utilities
  