anchor.diff:  to_expr([binary|Segs], L, Vt, St0) ->
       {Esegs,St1} = to_bitsegs(Segs, L, Vt, St0),
       {{bin,L,Esegs},St1};
  +to_expr([map|Pairs], L, Vt, St0) ->
  +    {Eps,St1} = to_map_pairs(Pairs, map_field_assoc, L, Vt, St0),
  +    {{map,L,Eps},St1};
  +to_expr([mref,Map,K], L, Vt, St) ->
  +    to_expr([call,?Q(maps),?Q(get),K,Map], L, Vt, St);
  +to_expr([mset,Map|Pairs], L, Vt, St0) ->
  +    {Em,St1} = to_expr(Map, L, Vt, St0),
  +    {Eps,St2} = to_map_pairs(Pairs, map_field_assoc, L, Vt, St1),
  +    {{map,L,Em,Eps},St2};
  +to_expr([mupd,Map|Pairs], L, Vt, St0) ->
  +    {Em,St1} = to_expr(Map, L, Vt, St0),
  +    {Eps,St2} = to_map_pairs(Pairs, map_field_exact, L, Vt, St1),
  +    {{map,L,Em,Eps},St2};
  +to_expr(['map-get',Map,K], L, Vt, St) ->
  +    to_expr([mref,Map,K], L, Vt, St);
  +to_expr(['map-set',Map|Ps], L, Vt, St) ->
  +    to_expr([mset,Map|Ps], L, Vt, St);
  +to_expr(['map-update',Map|Ps], L, Vt, St) ->
  +    to_expr([mupd,Map|Ps], L, Vt, St);
   %% Core closure special forms.
   to_expr([lambda,As|B], L, Vt, St0) ->
       {Ecl,St1} = to_fun_cl([As|B], L, Vt, St0),
  
positive.code: from_expr({bin,_,Segs}, Vt0, St0) ->
      {Ss,Vt1,St1} = from_bitsegs(Segs, Vt0, St0),
      {[binary|Ss],Vt1,St1};
  %% Core closure special forms.
  from_expr({'fun',_,{clauses,Cls}}, Vt, St0) ->
      {Lcls,St1} = from_fun_cls(Cls, Vt, St0),
  
negative.code:         {error,Error} -> erlang:error(Error)
      end.
  
  %% to_map_pairs(Pairs, LineNumber, VarTable, State) -> {Fields,State}.
  
  to_map_pairs([K,V|Ps], Field, L, Vt, St0) ->
      {Ek,St1} = to_expr(K, L, Vt, St0),
      {Ev,St2} = to_expr(V, L, Vt, St1),
      {Eps,St3} = to_map_pairs(Ps, Field, L, Vt, St2),
      {[{Field,L,Ek,Ev}|Eps],St3};
  to_map_pairs([], _, _, _, St) -> {[],St}.
  
  new_to_var(#to{vc=C}=St) ->
      V = list_to_atom(lists:concat(["___",C,"___"])),
      {V,St#to{vc=C+1}}.
  