anchor.diff:      Zout = zlib:open(),
       ok = zlib:inflateInit(Zin),
       ok = zlib:deflateInit(Zout),
  -    {ok, NewParser0} = exml_stream:reset_parser(Parser),
  -    NewParser = fake_root(NewParser0, State#state.legacy_ws),
  +    {ok, NewParser} = exml_stream:reset_parser(Parser),
       {reply, Socket, State#state{parser = NewParser,
                                   compress = {zlib, {Zin,Zout}}}};
   handle_call(stop, _From, #state{socket = Socket,
  
positive.code:         false -> Default;
          {Key, Value} -> Value
      end.
  
  fake_root(Parser, false) ->
      Parser;
  fake_root(Parser0, true) ->
      {ok, Parser, _SkipStreamStart} = exml_stream:parse(Parser0, <<"<fakeroot>">>),
      Parser.
  
negative.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(),
      ParserOpts = if
                       LegacyWS -> [];
                       true -> [{infinite_stream, true}, {autoreset, true}]
                   end,
      {ok, Parser} = exml_stream:new_parser(ParserOpts),
      {ok, #state{owner = Owner,
                  socket = Socket,
                  parser = Parser,
  