anchor.diff:  exp_append(Args) ->
       case Args of
           %% Cases with quoted lists.
  -        [?Q([A|As])|Es] -> [cons,?Q(A),['++',?Q(As)|Es]];
  -        [?Q([])|Es] -> ['++'|Es];
  +        [?Q([A|As])|Es] -> [cons,?Q(A),exp_append([?Q(As)|Es])];
  +        [?Q([])|Es] -> exp_append(Es);
           %% Cases with explicit cons/list/list*.
  -        [['list*',A]|Es] -> ['++',A|Es];
  -        [['list*',A|As]|Es] -> [cons,A,['++',['list*'|As]|Es]];
  -        [[list,A|As]|Es] -> [cons,A,['++',[list|As]|Es]];
  -        [[list]|Es] -> ['++'|Es];
  -        [[cons,H,T]|Es] -> [cons,H,['++',T|Es]];
  -        [[]|Es] -> ['++'|Es];
  +        [['list*',A]|Es] -> exp_append([A|Es]);
  +        [['list*',A|As]|Es] -> [cons,A,exp_append([['list*'|As]|Es])];
  +        [[list,A|As]|Es] -> [cons,A,exp_append([[list|As]|Es])];
  +        [[list]|Es] -> exp_append(Es);
  +        [[cons,H,T]|Es] -> [cons,H,exp_append([T|Es])];
  +        [[]|Es] -> exp_append(Es);
           %% Cases with lists of numbers (strings).
  -        %% [[N|Ns]|Es] when is_number(N) -> [cons,N,['++',Ns|Es]];
  +        %% [[N|Ns]|Es] when is_number(N) -> [cons,N,exp_append([Ns|Es])];
           %% Default cases with unquoted arg.
           [E] -> E;                %Last arg not checked
  -        [E|Es] -> exp_bif('++', [E,['++'|Es]]);
  +        [E|Es] -> exp_bif('++', [E,exp_append(Es)]);
           [] -> []
       end.
   
  
positive.code: exp_nequal(As, Op, St0) ->
      {Ls,St1} = exp_args(As, St0),
      Ts = op_all_pairs(Ls, Op),
      {['let*',Ls,['andalso'|Ts]],St1}.
  
  op_all_pairs([], _) -> [];
  op_all_pairs([[V,_]|Ls], Op) ->
  
negative.code:     Exp = exp_prefix(Abody),
      {yes,Exp,St};
  exp_predef(['?'|As], _, St) ->
      Omega = [omega,omega],
      Exp = case As of
                [To,Def] -> ['receive',Omega,['after',To,Def]];
                [To] -> ['receive',Omega,['after',To,[exit,?Q(timeout)]]];
                [] -> ['receive',Omega]
            end,
      {yes,Exp, St};
  exp_predef(['list*'|As], _, St) ->
      Exp = exp_list_star(As),
      {yes,Exp,St};
  exp_predef(['let*'|Lbody], _, St) ->
      Exp = exp_let_star(Lbody),
      {yes,Exp,St};
  exp_predef(['flet*'|Lbody], _, St) ->
      Exp = exp_flet_star(Lbody),
      {yes,Exp,St};
  exp_predef(['cond'|Cbody], _, St) ->
      Exp = exp_cond(Cbody),
      {yes,Exp,St};
  exp_predef(['do'|Dbody], _, St0) ->
      %% (do ((v i c) ...) (test val) . body) but of limited use as it
  