anchor.diff:          false -> Default;
           {Key, Value} -> Value
       end.
  -
  -fake_root(Parser, false) ->
  -    Parser;
  -fake_root(Parser0, true) ->
  -    {ok, Parser, _SkipStreamStart} = exml_stream:parse(Parser0, <<"<fakeroot>">>),
  -    Parser.
  
positive.code:     wsecli:on_message(Socket, fun(Type, Data) -> Pid ! {Type, Data} end),
      wsecli:on_close(Socket, fun(_) -> Pid ! tcp_closed end),
      wait_for_socket_start(),
      {ok, Parser0} = exml_stream:new_parser(),
      Parser = fake_root(Parser0, LegacyWS),
      {ok, #state{owner = Owner,
                  socket = Socket,
                  parser = Parser,
  
negative.code:     Zout = zlib:open(),
      ok = zlib:inflateInit(Zin),
      ok = zlib:deflateInit(Zout),
      {ok, NewParser} = exml_stream:reset_parser(Parser),
      {reply, Socket, State#state{parser = NewParser,
                                  compress = {zlib, {Zin,Zout}}}};
  handle_call(stop, _From, #state{socket = Socket,
  