anchor.diff:      consts => Consts}.
   
   
  +%TODO unify these?
   start_link(Class) ->
     gen_server:start_link(?MODULE, [#{class => Class }], []).
   
  
positive.code: -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]).
  %for other buildtin class
  -export([def_method/3, new_object_with_pid_symbol/2]).
  -export([init_main_object/0, main_object/0]).
  -export([start_link/2, start_link/1]).
  
  
negative.code:   S = io_lib:format("~p",[Self]),
    erruby_vm:new_string(S,Env).
  
  %TODO support property?
  new_object_with_pid_symbol(Symbol, Class) ->
    gen_server:start_link({local, Symbol}, ?MODULE, [#{class => Class}], []).
  
  new_object(Class, Payload) when is_map(Payload) ->
    start_link(Class, Payload).
  
  
  init_object_class() ->
    {ok, Pid} = gen_server:start_link({local, erruby_object_class}, ?MODULE, [],[]),
  