anchor.diff:          %% ?assertEqual(<<"<<\"ddäöü\">>/utf8">>, item(2,{'Imem',<<"ddäöü"/utf8>>})),
           ?Info("item success~n", []),
   
  +        ?assertEqual(<<"\"abcde\"">>, string_to_io("abcde")),
  +        ?assertEqual(<<"\"123\"abc\"">>, string_to_io("123\"abc")),
  +
  +        ?assertEqual("abcde", io_to_string(<<"\"abcde\"">>)),
  +        ?assertEqual("123\"abc", io_to_string(<<"\"123\"abc\"">>)),
  +
  +        ?Info("Str0 äöü -> ~p~n",[[0|"äöü"]]),
  +
  +        Str1 = "äöü",                       ?Info("Str1 äöü -> ~p~n",[[<<?H(I)>> || I <- Str1]]),
  +        Utf8 = unicode:characters_to_binary("äöü",unicode,utf8), ?Info("Utf8 äöü -> ~p~n",[binary_to_hex(Utf8)]),        
  +        Exp1 = <<"\"äöü\""/utf8>>,          ?Info("Exp1 äöü -> ~p~n",[binary_to_hex(Exp1)]), 
  +        Ios1 = string_to_io(Str1),          ?Info("Ios1 äöü -> ~p~n",[binary_to_hex(Ios1)]),
  +        ?assertEqual(Exp1, Ios1),
  +
  +        ?assertEqual("abcde", io_to_string(string_to_io("abcde"))),
  +        ?assertEqual("123\"abc", io_to_string(string_to_io("123\"abc"))),
  +        ?assertEqual(Str1, io_to_string(string_to_io(Str1))),
  +
  +        ?assertEqual(<<"\"abcde\"">>, string_to_io(io_to_string(<<"\"abcde\"">>))),
  +        ?assertEqual(<<"\"123\"abc\"">>, string_to_io(io_to_string(<<"\"123\"abc\"">>))),
  +        ?assertEqual(Exp1, string_to_io(io_to_string(Exp1))),
  +
           ?assertEqual(<<"123">>, decimal_to_io(123,0)),
           ?assertEqual(<<"-123">>, decimal_to_io(-123,0)),
           ?assertEqual(<<"12.3">>, decimal_to_io(123,1)),
  
positive.code:     end;
  t2s(T) -> io_lib:format("~p", [T]).
  
  string_to_io(Val) when is_list(Val) ->
      IsString = io_lib:printable_unicode_list(Val),
      if 
          IsString ->     list_to_binary(io_lib:format("\"~ts\"",[Val]));   %% "~ts" ToDo: handle escaping and quoting etc.
          true ->         list_to_binary(lists:flatten(io_lib:format("\"~tp\"",[Val])))
      end;                                    
  string_to_io(Val) ->
      list_to_binary(lists:flatten(io_lib:format("\"~tp\"",[Val]))).
  
  integer_to_io(Val) ->
      list_to_binary(integer_to_list(Val)).
  
negative.code: %% -*- coding: utf-8 -*-
  -module(imem_datatype).
  -compile(inline).
  -compile({inline_size,1000}).
  