anchor.diff:          ({'+'=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 floats.
  -            %% http://stackoverflow.com/a/858649/1418165
  -        ({'%', _, A, B})      -> {primop, fun (X,Y) -> (X rem Y + Y) rem Y end, [A,B]};
  +        % No '/' yet because lack of floats.
  +        ({'%', _, A, B})      -> {primop, fun mod/2, [A,B]};
   
           ({bool, _, Boolean}) -> Boolean;
           ({raw_string, _, S})    -> {string, S};
  
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:     {'if', Cond, Then, unwrap_elsifs(Rest,Else)};
  unwrap_elsifs ([], Else) -> Else.
  
  mod (X, Y) ->
  %% http://stackoverflow.com/a/858649/1418165
      (X rem Y + Y) rem Y.
  
  %% End of Module.
  