anchor.diff:    ScopeEnv = parse_formals(Formals, es_env:empty()),
     {'ES:LAMBDA', Formals, parse(Body, es_env:overlay(Env, ScopeEnv))}.
   
  -quote_if_glovar(AST) ->
  +quote_if_glovar(Sexpr, Env) ->
  +  AST = parse(Sexpr, Env),
     case AST of
       {'ES:GLOVAR', Atom} -> {'ES:QUOTE', Atom};
       _ -> AST
  
positive.code:       erlang:throw({bad_begin, Tl})
    end.
  
  parse_call(Hd0, Tl, Env) ->
    Hd = parse(Hd0, Env),
    {Fun, Args1} =
      case Tl of
        [':', F0 | Args0] ->
          M = quote_if_glovar(Hd),
          F = quote_if_glovar(parse(F0, Env)),
          A = {'ES:QUOTE', length(Args0)},
          {{'ES:PRIMOP', 'ES:COLON', [M, F, A]}, Args0};
        _ ->
          {Hd, Tl}
      end,
    Args = [parse(Arg, Env) || Arg <- Args1],
    %% Recognize calls to special built-ins:
  
negative.code: parse_lambda(Tl, Env) ->
    case Tl of
      [M, ':', F, '/', A] ->
        {'ES:PRIMOP', 'ES:COLON', [quote_if_glovar(M, Env), quote_if_glovar(F, Env), parse(A, Env)]};
      [Formals, Body] ->
        parse_plain_lambda(Formals, Body, Env);
      _ ->
  