anchor.diff:  %%% Copyright (c) 2007- Facebook
   %%% Distributed under the Thrift Software License
  -%%% 
  +%%%
   %%% See accompanying file LICENSE or visit the Thrift site at:
   %%% http://developers.facebook.com/thrift/
   
  
positive.code:         %% io:format("apply ~p ~p ~p~n", [M,F,A]),
          {ok, apply(M, F, A)}
      catch
  	error:Kind when Kind == undef; Kind == function_clause ->
  	    case erlang:get_stacktrace() of
  		%% the first stack call should match MFA when `apply' fails because the function is undefined
  		%% they won't match if the function is currently running and an error happens in the middle
  		[MFA|_] -> undef;           % trapped successfully
  		ST ->
                      io:format("DONIT THE EXIT THING ~p~n", [Kind]),
                      exit({Kind, ST}) % some unrelated error, re-exit
  	    end
      end.
  
  get_superobject(Obj) ->
  
negative.code: 
  %% TODO: voids take only ok as return?
  start_new(none=Resv, _) ->
      ?ERROR("can't instantiate ~p: class name is a reserved word", [Resv]),
      error;
  start_new(Class, Args) ->
      {ok, Pid} = gen_server:start_link(thrift_oop_server, {Class, Args}, []),
  