anchor.diff:              if
                   LLD > LRD -> % 左の木の左が深いなら左の木を上げる
                       NR = map_rotate({map, KV, LR, R, 0}),
  -                    {map, KVL, LL, NR, max([LLD|[map_depth(NR)]]) + 1};
  +                    map_rotate({map, KVL, LL, NR, 0});
                   true -> % 左の木の右が深いなら左の木の右を上げる
                       {_, KVLR, LRL, LRR, _} = LR,
                       NR = map_rotate({map, KV, LRR, R, 0}),
                       NL = map_rotate({map, KVL, LL, LRL, 0}),
  -                    {map, KVLR, NL, NR, max([map_depth(NL)|[map_depth(NR)]]) + 1}
  +                    map_rotate({map, KVLR, NL, NR, 0})
               end;
           X when X < -1 -> % 右の木が深過ぎ
               {_, KVR, RL, RR, _} = R,
  
positive.code: 
  map_data(emptymap) -> [];
  map_data({map, KV, L, R, _}) -> map_data(L) ++ [KV] ++ map_data(R).
  
  
negative.code: 
  map_new() -> emptymap.
  
  map_get(FK, {map, {K,V}, L, R, _}) ->
      case comp(FK, K) of
          eq -> {ok, V};
          lt -> map_get(FK, L);
  