anchor.diff:      Modules = ?MODULES,
       case ephp_context:start_link() of
           {ok, Ctx} -> 
  -            [ Module:init(Ctx) || Module <- Modules ],
  +            [ register_module(Ctx, Module) || Module <- Modules ],
               {ok, Ctx};
           Error ->
               Error
  
positive.code:     context_new/0,
      register_var/3,
      register_fun/4,
      eval/2,
  
      main/1   %% for escriptize
  
negative.code: 
  register_fun(Ctx, PHPName, Module, Fun) ->
      ephp_context:register_func(Ctx, PHPName, Module, Fun).
  
  -spec register_module(Ctx :: context(), Module :: atom()) -> ok.
  
  register_module(Ctx, Module) ->
      Module:init(Ctx).
  
  -spec eval(Context :: context(), PHP :: string() | binary()) -> 
      {ok, Result :: binary()} | {error, Reason :: reason()} | 
  