anchor.diff:      {'if', Cond, Then, unwrap_elsifs(Rest,Else)};
   unwrap_elsifs ([], Else) -> Else.
   
  -is_string (List) when is_list(List) ->
  -%% http://stackoverflow.com/a/8034011/1418165
  -    lists:all(fun
  -            (X) when X >= 32, X < 127 -> true;
  -            (_)                       -> false
  -        end, List);
  -is_string (_) -> false.
  +mod (X, Y) ->
  +%% http://stackoverflow.com/a/858649/1418165
  +    (X rem Y + Y) rem Y.
   
   %% End of Module.
  
positive.code:         ({'if', _, Ifs, Else}) -> unwrap_elsifs(Ifs, Else);
  
          ({'#.', _, Val}) ->
              % Assumption: Val is always a dimention (Grammar allows expr).
              {'#', {[0],Val}};
  
          ({tuple, _, Assocs}) -> {t, Assocs};
          ({tuple_element, _, Lhs, Rhs}) ->
              case is_string(Lhs) of
                      % Assumption: Lhs is a dimention (Grammar allows expr).
                  true -> {{[0],Lhs}, Rhs};
                  false -> {Lhs, Rhs}
              end;
  
          ({'or'=Op, _, A, B})  -> {primop, fun erlang:Op/2, [A,B]};
          ({'and'=Op, _, A, B}) -> {primop, fun erlang:Op/2, [A,B]};
  
negative.code:         ({'+'=Op, _, A, B})   -> {primop, fun erlang:Op/2, [A,B]};
          ({'-'=Op, _, A, B})   -> {primop, fun erlang:Op/2, [A,B]};
          ({'*'=Op, _, A, B})   -> {primop, fun erlang:Op/2, [A,B]};
          % No '/' yet because lack of floats.
          ({'%', _, A, B})      -> {primop, fun mod/2, [A,B]};
  
          ({bool, _, Boolean}) -> Boolean;
          ({raw_string, _, S})    -> {string, S};
  