anchor.diff:  map_update_loop(Map) ->
     receive
       {get, Pid} ->
  -      Pid ! protocol:map_update(Map),
  +      Pid ! protocol:map_update(to_matrix(Map)),
         map_update_loop(Map);
  -    {update, Coordinates, State} ->
  -      map_update_loop(update(Map, Coordinates, State))
  -  end.
   
  -update(Map, {_X, _Y}, _State) ->
  -  Map.+    {update, {X, Y}, Value} ->
  +      map_update_loop(set(X, Y, Value, Map))
  +  end.
positive.code:     [1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1],
      [1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1],
      [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
    ].
  
  start() ->
    MapLoop = spawn(fun() -> map_update_loop(get_initial()) end),
  
negative.code: -export([start/0, stop/0]).
  
  get_initial() ->
    from_matrix([
      [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
      [1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1],
      [1, 4, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 4, 1],
      [1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1],
  