anchor.diff:      %% can't handle splicing!
       case exp_backquote(tuple_to_list(X), N) of
           [list|Es] -> [tuple|Es];                %No splicing
  -        [cons|_]=E -> [list_to_tuple,E]         %Have splicing
  +        [cons|_]=E -> [list_to_tuple,E];        %Have splicing
  +        [] -> [tuple]                           %The empty tuple
       end;
   exp_backquote(X, N) when ?IS_MAP(X) ->
  -    %% Splicing at top-level meaningless here, with [list|...] we have
  -    %% no splicing, while with [cons|...] we have splicing
  -    [list|KVs] = exp_bq_map_pairs(maps:to_list(X), N),
  -    [map|KVs];
  +    %% Splicing at top-level almost meaningless here, with [list|...]
  +    %% we have no splicing, while with [cons|...] we have splicing
  +    case exp_bq_map_pairs(maps:to_list(X), N) of
  +        [list|KVs] -> [map|KVs];                %No splicing
  +        %% [cons|_]=E ->                        %Have splicing
  +        %%      [call,?Q(maps),?Q(from_list)|E];
  +        [] -> [map]                             %The empty map
  +    end;
   exp_backquote(X, _) when is_atom(X) -> [quote,X];
   exp_backquote(X, _) -> X.                       %Self quoting
   
  
positive.code:     try
          exp_predef(Call, Env, St)
      catch
          error:Error ->
              Stack = erlang:get_stacktrace(),
              erlang:error({expand_macro,Call,{Error,Stack}})
      end.
  
  %% exp_predef(Form, Env, State) -> {yes,Form,State} | no.
  %%  Handle the builtin predefined macros but only one at top-level and
  
negative.code:         Exp = lfe_eval:apply(Def1, [Args,Env], Env),
          {yes,Exp,St1}
      catch
          %% error:no_Error -> boom
          %% error:Error ->
          %%     Stack = erlang:get_stacktrace(),
          %%     erlang:error({expand_macro,[Mac|Args],{Error,Stack}})
          error:Error ->
              Stack = erlang:get_stacktrace(),
              erlang:raise(error, {expand_macro,[Mac|Args],Error}, Stack)
          %% error:Error ->
          %%     Stack0 = erlang:get_stacktrace(),
          %%     Stack1 = trim_stacktrace(Stack0),
          %%     erlang:error({expand_macro,[Mac|Args],{Error,Stack1}})
      end.
  
  %% exp_predef_macro(Call, Env, State) -> {yes,Exp,State} | no.
  