anchor.diff:          {ok, #parser{
               event_parser = EventParser,
               config = #config{
  -                        infinite_stream = bool_opt
  -                                            (infinite_stream, Opts, false),
  -                        autoreset = bool_opt
  -                                      (autoreset, Opts, false)}}}
  +                        infinite_stream = bool_opt(infinite_stream, Opts, false),
  +                        autoreset = bool_opt(autoreset, Opts, false)}}}
       catch
           E:R -> {error, {E, R}}
       end.
  
positive.code: %% autoreset - will reset expat after each parsed document
  %%             use only when complete xml document is sent to the parser
  %%             for example XMPP over WebSocekts - http://tools.ietf.org/html/draft-ietf-xmpp-websocket
  -type parser_opt() :: {infinite_stream, boolean()} | {autoreset, boolean()}.
  
  -record(config, {
      infinite_stream :: boolean(),
  
negative.code:     Acc. %% no lists:reverse, as we got the argument list in reversed order
  
  
  -spec bool_opt(parser_property(), [parser_opt()], boolean()) -> boolean().
  bool_opt(Val, Opts, Default) ->
      Got = proplists:get_value(Val, Opts, Default),
      case is_boolean(Got) of
  