anchor.diff:                  _  ->
                       MFA
               end;
  -        Error ->
  -            log_and_error({invalid_application_config, sqerl, config_cb, Error})
  +        AnythingElse ->
  +            log_and_error({invalid_config_mfa, sqerl, config_cb, AnythingElse})
       end,
       erlang:apply(M, F, A).
   
  
positive.code: init([]) ->
      init(drivermod(), config()).
  
  init(CallbackMod, Config) ->
      IdleCheck = proplists:get_value(idle_check, Config),
      case CallbackMod:init(Config) of
          {ok, CallbackState} ->
              {ok, #state{cb_mod=CallbackMod, cb_state=CallbackState,
                          timeout=IdleCheck}, IdleCheck};
          Error ->
              {stop, Error}
  
negative.code: -compile([export_all]).
  -endif.
  
  -define(DEFAULT_TIMEOUT, 5000).
  
  -record(state, {cb_mod,
                  cb_state,
                  timeout = ?DEFAULT_TIMEOUT :: pos_integer()}).
  
  %% behavior callback definitions
  -callback init(Config :: [{atom(), term()}]) ->
  