anchor.diff:  
       ProcessTile =
           fun(Tile, E) ->
  -                GetMoves = mk_get_moves(E, Config),
  -                SendToWorker = mk_send_to_worker(Pool, GetMoves),
  -                lists:map(SendToWorker, Tile),
  +                lists:map
  +                  (fun(Agents) ->
  +                           send_to_work(Pool, Agents, Env, Config)
  +                   end,
  +                   Tile),
                   Moves = collect_results(Tile),
                   parallant:apply_moves(Moves, E, Config)
           end,
  
positive.code:     logger:log(NewEnv),
      step(T+1, MaxT, NewEnv, Pool, Config).
  
  mk_send_to_worker(Pool, GetMoves) ->
      Caller = self(),
      fun (Agents) ->
              PoolboyTransaction =
                  fun () ->
                          poolboy:transaction(Pool,
                                              mk_worker(Caller, Agents, GetMoves))
                  end,
              spawn(PoolboyTransaction)
      end.
  
  mk_worker(Caller, Agents, GetMoves) ->
      fun (Pid) ->
              Result = gen_server:call(Pid, {agents, Agents, GetMoves}),
              Caller ! {agents, Result}
      end.
  
negative.code: 
  -behaviour(algorithm).
  %% API
  -export([test/0,
           display/2,
           run/3,
           poolboy_transaction/5]).
  
  -include("parallant.hrl").
  
  