anchor.diff:  
   -record(state, {
       id :: term(),
  -    conns_config :: map(),
  +    targets :: map(),
       conn_spec :: #{conn_id() => #conn_spec{}},
       conn_weight :: [{Start::integer(), Stop::integer(), conn_id()}],
       conn_status :: #{conn_id() => #conn_status{}},
  
positive.code: %% ===================================================================
  
  
  syntax() ->
      #{
          id => binary,
          conns => {list,
              #{
                  url => binary,
                  opts => nkpacket_syntax:safe_syntax(),
                  weight => {integer, 0, 1000},
                  pool => {integer, 1, 1000},
                  refresh => boolean,
                  headers => list,
                  '__mandatory' => [url],
                  '__defaults' => #{weigth=>100, pool=>1}
              }},
          debug => boolean,
          resolve_interval => {integer, 0, none}
      }.
  
  
  %% @doc
  -spec start_link(config()) ->
      {ok, pid()} | {error, term()}.
  
  start_link(Config) ->
      Syntax = syntax(),
      case nklib_syntax:parse(Config, Syntax) of
          {ok, Parsed, _} ->
             gen_server:start_link(?MODULE, [Parsed], []);
          {error, Error} ->
              {error, Error}
      end.
  
  
  %% @doc
  
negative.code: 
  sample() ->
      Config = #{
          targets => [
  %%            #{
  %%                url => "https://microsoft.com",
  %%                opts => #{debug => true},
  %%                weight => 20
  %%            },
              #{
                  url => "http://127.0.0.1:9000",
                  weight => 10,
  