anchor.diff:  %% Callbacks
   %% ====================================================================
   
  --spec start(model(),pos_integer()) -> ok.
  +-spec start(model(),pos_integer()) -> agent().
   start(Model, Time) ->
       start(Model, Time, []).
   
   
  --spec start(model(),pos_integer(),[tuple()]) -> ok.
  +-spec start(model(),pos_integer(),[tuple()]) -> agent().
   start(Model, Time, SimParamOptions) ->
       start(Model, Time, SimParamOptions, []).
   
   
  --spec start(model(),pos_integer(),[tuple()],[tuple()]) -> ok.
  +-spec start(model(),pos_integer(),[tuple()],[tuple()]) -> agent().
   start(Model, Time, SimParamOptions, ConfigOptions) ->
       SimParamsUpdated = mas_misc_util:overwrite_options(SimParamOptions, load_params()),
       Agents = mas:start(?MODULE, Model, Time, proplist_to_record(SimParamsUpdated), ConfigOptions),
  
positive.code:     ParamsFromFile.
  
  %% @doc Transform a proplist with simulation properties to a record
  -spec proplist_to_record([tuple()]) -> sim_params().
  proplist_to_record(Proplist) ->
      Dict = dict:from_list(Proplist),
      #sim_params{?LOAD(genetic_ops, Dict),
  
negative.code: 
  
  %% @doc function for starting `emas` from command line
  -spec starts(list()) -> agent().
  starts([Model, Time]) ->
      start(erlang:list_to_atom(Model), erlang:list_to_integer(Time)).
  
  