anchor.diff:  -behavior(gen_server).
   -export([init/1, terminate/2, code_change/3, handle_call/3, handle_cast/2, handle_info/2]).
   %for vm
  --export([def_method/4, find_instance_method/2, def_global_const/2, def_const/3, find_const/2, init_object_class/0,object_class/0]).
  +-export([def_method/4, find_instance_method/2, def_global_const/2, find_global_const/1, def_const/3, find_const/2, init_object_class/0,object_class/0]).
   %for other buildtin class
  --export([def_method/3, new_object_with_pid_symbol/2]).
  +-export([def_method/3, new_object_with_pid_symbol/2, new_object/2]).
   -export([init_main_object/0, main_object/0]).
   -export([start_link/2, start_link/1]).
   
  
positive.code:     consts => Consts}.
  
  
  start_link(Class) ->
    gen_server:start_link(?MODULE, [#{class => Class }], []).
  
  
negative.code:   Receiver = self_or_object_class(Self),
    gen_server:call(Receiver, #{type => def_method, name => Name, func => Func}).
  
  %TODO call def_const instead
  def_global_const(Name, Value) ->
    gen_server:call(object_class(), #{type => def_const, name => Name, value => Value}).
  
  find_global_const(Name) ->
    find_const(object_class(), Name).
  
  
  def_const(Self, Name, Value) ->
  