anchor.diff:      Acc. %% no lists:reverse, as we got the argument list in reversed order
   
   
  --spec bool_opt(parser_opt(), [parser_opt()], boolean()) -> boolean().
  +-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
  
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:         {ok, #parser{
              event_parser = EventParser,
              config = #config{
                          infinite_stream = bool_opt(infinite_stream, Opts, false),
                          autoreset = bool_opt(autoreset, Opts, false)}}}
      catch
          E:R -> {error, {E, R}}
      end.
  