anchor.diff:  map_key([_|_]=L) ->
       case is_posint_list(L) of
           true -> L;                              %Literal strings
  -        false -> erlang:error(illegal_mapkey)
  +        false -> eval_error(illegal_mapkey)
       end;
   map_key(E) when not is_atom(E) -> E;            %Everything else
  -map_key(_) -> erlang:error(illegal_mapkey).
  +map_key(_) -> eval_error(illegal_mapkey).
   
   %% eval_lambda(LambdaBody, Env) -> Val.
   %%  Evaluate (lambda args ...).
  
positive.code:                        {V,length(Args),Lambda};
                     ([V,['match-lambda',[Pats|_]|_]=Match]) when is_atom(V) ->
                         {V,length(Pats),Match};
                     (_) -> erlang:error({bad_form,'letrec-function'})
                 end, Fbs0),
      Env1 = make_letrec_env(Fbs1, Env0),
      %% io:fwrite("elrf: ~p\n", [{Env0,Env1}]),
  
negative.code:     no ->
          case find(S, Bbs) of
          {ok,V} -> V;
          error -> eval_error({unbound_symb,S})
          end
      end.
  
  