anchor.diff:  // Abaci classes dont need a mark function because they do not contain references to other Ruby objects.
   // Currently Abaci classes are allocated off of the C++ heap.
   
  +#define GET_LONG(name) long name##_long = NUM2LONG(name);
  +
  +//
  +// Vector2
  +//
  +
   inline Vector2d* GetVector2(VALUE data)
   {
   	Vector2d* vec;
  
positive.code: def CMethod.noargs_klass klass, c_name, rb_name
  	new(c_name, rb_name, [], <<-CODE)
  	    GET_#{klass.upcase}(self);
  	    VALUE result = #{klass.downcase}_alloc(c#{klass});
  		GET_#{klass.upcase}(result);
  		*result_vec = self_vec->#{c_name}();
  	    return result;
  	CODE
  
negative.code: }
  
  #define GET_VECTOR2(name) Vector2d* name##_vec = GetVector2(name);
  #define NEW_VECTOR2(name) VALUE name = vector2_alloc(cVector2); Vector2d* name##_vec = GetVector2(name);
  
  VALUE cVector2;
  
  