anchor.diff:      end.
   
   % O(1) amortized
  +pop({[_X], R}) when is_list(R) ->
  +    {lists:reverse(R), []};
   pop({[_X|L], R}) when is_list(L), is_list(R) ->
  -    {L, R};
  -pop({[_X], R}) when is_list(R) ->
  -    {lists:reverse(R), []}.
  +    {L, R}.
   
  
positive.code: 
  % O(1)
  front({[X|L], R}) when is_list(L), is_list(R) -> X.
  back({L, [X|R]}) when is_list(L), is_list(R) -> X.
      
  % O(1) amortized
  push({L, R}, X) when is_list(L), is_list(R) ->
  
negative.code: 
  -module(meeqo_queue).
  
  -export([new/0, empty/1, len/1, front/1, push/2, pop/1]).
  
  % O(1)
  new() -> {[], []}.
  