anchor.diff:      move_one_car(TCar, Cars, Move).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -% General Invocation
  +%% General Invocation
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   -spec solve(room(), state(), [option()]) -> answer() | answer_S().
  
positive.code: 
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % PropEr predicates
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %% -include_lib("proper/include/proper.hrl").
  
negative.code: -module(rush_hour).
  
  -export([solve/3, solve/2, print/2, print_path/2, translate/1, toml/2,
  	 test_2workers/0, test_3workers/0, test/2]).
  -export([next_entries/2, winning/2, reverse_step/2,
  	 compress/2, get_decomp_key/2, decompress/3]).
  
  %% TODO: validate input? (in intermediate form?)
  %% TODO: visible hash?
  %% TODO: separate hash handling from closed set name
  %% TODO: Astar
  %% TODO: distributed hash table (closed + open set)
  %% TODO: batch assign work
  %% TODO: open set as hashtable (easy to find duplicates)
  %% TODO: use a queue from stdlib for open set(s)
  
  -type direction() :: 'x' | 'y'.
  -type position() :: 0..1023.
  