anchor.diff:      {Cls1,A} = splitwith(fun (['after'|_]) -> false; (_) -> true end, Cls0),
       {Ecls,St1} = to_icrt_cls(Cls1, L, Vt, St0),
       case A of
  -    [['after',T|B]] ->
  -        {Et,St2} = to_expr(T, L, Vt, St1),
  -        {Eb,St3} = to_body(B, L, Vt, St2),
  -        {{'receive',L,Ecls,Et,Eb},St3};
  -    [] ->
  -        {{'receive',L,Ecls},St1}
  +        [['after',T|B]] ->
  +            {Et,St2} = to_expr(T, L, Vt, St1),
  +            {Eb,St3} = to_body(B, L, Vt, St2),
  +            {{'receive',L,Ecls,Et,Eb},St3};
  +        [] ->
  +            {{'receive',L,Ecls},St1}
       end;
   %% Special known macros.
   %% No record stuff here as they are macros which have been expanded.
  
positive.code:     %% (qlc_pt).
      {Eas,St1} = to_expr_list(As, L, Vt, St0),
      case is_erl_op(F, length(As)) of
      true -> {list_to_tuple([op,L,F|Eas]),St1};
      false ->
          {{call,L,{remote,{atom,L,erlang},{atom,L,F}},Eas},St1}
      end;
  to_expr([call,M,F|As], L, Vt, St0) ->
      {Em,St1} = to_expr(M, L, Vt, St0),
  
negative.code: from_pat({var,_,'_'}, Vt, St) -> {'_',[],Vt,St};    %Special case _
  from_pat({var,_,V}, Vt, St0) ->                     %Unquoted atom
      case ordsets:is_element(V, Vt) of               %Is variable bound?
          true ->
              {V1,St1} = new_from_var(St0),       %New var for pattern
              {V1,[{V,V1}],Vt,St1};               %Add to guard tests
          false ->
              {V,[],ordsets:add_element(V, Vt),St0}
      end;
  from_pat({nil,_}, Vt, St) -> {[],[],Vt,St};
  from_pat({integer,_,I}, Vt, St) -> {I,[],Vt,St};
  