anchor.diff:  format_error({badmatch,Val}) ->
       lfe_io:format1("bad match: ~w", [Val]);
   format_error({unbound_symb,S}) ->
  -    lfe_io:format1("unbound symbol: ~w", [S]);
  -format_error({unbound_func,F}) ->
  -    lfe_io:format1("unbound function: ~w", [F]);
  +    lfe_io:format1("symbol ~w unbound", [S]);
  +format_error({undefined_func,F}) ->
  +    lfe_io:format1("function ~w undefined", [F]);
   format_error(if_expression) -> "non-boolean if test";
   format_error(function_clause) -> "no function clause matching";
   format_error({case_clause,Val}) ->
       lfe_io:format1("no case clause matching: ~w", [Val]);
   format_error({multi_var,V}) ->
  -    lfe_io:format1("multiple occurrence of variable: ~w", [V]);
  +    lfe_io:format1("variable ~w multiply definend", [V]);
   format_error(illegal_guard) -> "illegal guard";
   format_error(illegal_bitsize) -> "illegal bitsize";
   format_error(illegal_bitseg) -> "illegal bitsegment";
   format_error({illegal_pattern,Pat}) ->
  -    lfe_io:format1("illegal pattern: ~w", [Pat]);
  +    lfe_io:format1("illegal pattern ~w", [Pat]);
   format_error({illegal_literal,Lit}) ->
  -    lfe_io:format1("illegal literal value: ~w", [Lit]);
  +    lfe_io:format1("illegal literal value ~w", [Lit]);
   format_error({illegal_mapkey,Key}) ->
  -    lfe_io:format1("illegal map key: ~w", [Key]);
  +    lfe_io:format1("illegal map key ~w", [Key]);
   format_error(bad_arity) -> "arity mismatch";
   format_error({argument_limit,Arity}) ->
       lfe_io:format1("too many arguments: ~w", [Arity]);
   format_error({bad_form,Form}) ->
  -    lfe_io:format1("bad form: ~w", [Form]);
  +    lfe_io:format1("bad ~w form", [Form]);
   %% Everything we don't recognise or know about.
   format_error(Error) ->
       lfe_io:prettyprint1(Error).
  
positive.code: %% Copyright (c) 2008-2014 Robert Virding
  %%
  %% Licensed under the Apache License, Version 2.0 (the "License");
  %% you may not use this file except in compliance with the License.
  
negative.code: eval_gexpr([call,?Q(erlang),?Q(Fun)|As], Env) ->
      Ar = length(As),
      case lfe_internal:is_guard_bif(Fun, Ar) of
          true -> erlang:apply(erlang, Fun, eval_glist(As, Env));
          false -> illegal_guard_error()
      end;
  eval_gexpr([Fun|Es], Env) when is_atom(Fun), Fun =/= call ->
  