anchor.diff:      _ ->
         set_to_string(Set)
     end;
  +t_to_string(?bitstr(0, 0), _RecDict) ->
  +  "<<>>";
   t_to_string(?bitstr(8, 0), _RecDict) ->
     "binary()";
  -t_to_string(?bitstr(0, 0), _RecDict) ->
  -  "<<>>";
   t_to_string(?bitstr(0, B), _RecDict) ->
  -  io_lib:format("<<_:~w>>", [B]);
  +  lists:flatten(io_lib:format("<<_:~w>>", [B]));
   t_to_string(?bitstr(U, 0), _RecDict) ->
  -  io_lib:format("<<_:_*~w>>", [U]);
  +  lists:flatten(io_lib:format("<<_:_*~w>>", [U]));
   t_to_string(?bitstr(U, B), _RecDict) ->
  -  io_lib:format("<<_:~w,_:_*~w>>", [B, U]);
  +  lists:flatten(io_lib:format("<<_:~w,_:_*~w>>", [B, U]));
   t_to_string(?function(?any, ?any), _RecDict) ->
     "fun()";
   t_to_string(?function(?any, Range), RecDict) ->
  
positive.code: 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])
    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])
    end;
  t_form_to_string({ann_type, _L, [Var, Type]}) ->
    t_form_to_string(Var) ++ "::" ++ t_form_to_string(Type);
  
negative.code: t_from_form({type, _L, binary, [Base, Unit]} = Type,
  	    _TypeNames, _InOpaque, _RecDict, _VarDict) ->
    case {erl_eval:partial_eval(Base), erl_eval:partial_eval(Unit)} of
      {{integer, _, B}, {integer, _, U}} when B >= 0, U >= 0 ->
        {t_bitstr(U, B), []};
      _ -> throw({error, io_lib:format("Unable to evaluate type ~w\n", [Type])})
    end;
  t_from_form({type, _L, bitstring, []}, _TypeNames, _InOpaque, _RecDict,
  